Piezoelectric devices and methods and circuits for driving same

ABSTRACT

A drive circuit ( 18 ) produces a drive signal for a pump ( 10 ) having a piezoelectric actuator ( 14 ), with the piezoelectric actuator ( 14 ) forming a part of the drive circuit ( 18 ) and serving to shape a waveform of the drive signal. The drive circuit ( 18 ) comprises a pulse generator ( 100 ) which generates pulses; a converter circuit ( 102 ) which receives the pulses and produces charge packets at a rate which equals a desired drive frequency; and, the piezoelectric actuator ( 14 ). The piezoelectric actuator ( 14 ) receives the charge packets and, by its capacitive nature, integrates the charge packets to shape the waveform of the drive signal. Preferably, the piezoelectric actuator ( 14 ) integrates the charge packets to yield a drive field that approximates a sine wave. In one non-limiting example embodiment, the pulse generator ( 100 ) comprises a microcontroller-based pulsed width modulator (PWM) circuit ( 116 ) and the converter circuit ( 102 ) comprises a flyback circuit.

This application is continuation of U.S. patent application Ser. No.11/902,580 entitled “Piezoelectric Devices and Methods and Circuits forDriving Same”; which in turn is a divisional of U.S. patent applicationSer. No. 10/816,000 entitled “Piezoelectric Devices and Methods andCircuits for Driving Same”, which is related to the following UnitedStates Patent Applications: U.S. patent application Ser. No. 10/815,975entitled “Piezoelectric Devices and Methods and Circuits for DrivingSame”; U.S. patent application Ser. No. 10/815,999 entitled“Piezoelectric Devices and Methods and Circuits for Driving Same”; and,U.S. patent application Ser. No. 10/815,978 entitled “PiezoelectricDevices and Methods and Circuits for Driving Same”; all of which areincorporated by reference herein in their entirety.

BACKGROUND

1. Field of the Invention

This invention pertains to piezoelectric elements, and particularly tocircuits and methods for driving piezoelectric elements utilized in suchdevices such as pumps, for example.

2. Related Art and Other Considerations

A piezoelectric element is a crystalline material which produces anelectric voltage when subjected to mechanical pressure. In view of theirvarious properties, piezoelectric elements have been used as actuatorsin diaphragm displacement pumps. In general, piezoelectric actuators ofthe type used in pumps require excitation by a regularly reversinghigh-voltage field. Depending on the application, the excitation voltagemay be anywhere from 25 to 1000 volts or more and the frequency of fieldreversal may be anywhere from a fraction of a cycle per second tothousands of cycles per second. Typically, this excitation signal mustbe derived from a relatively low-voltage source of 1.5-25 volts. It isdesirable that this derivation or conversion be very energy efficientand that the associated components be inexpensive.

In addition, given that both the piezoelectric actuators and the devicesthat employ them often have many resonant characteristics, it isdesirable for the field reversal to be monotonic—e.g., a sine wave.

An example of a reasonably effective drive circuit for drivingpiezoelectric elements used as pump actuators is disclosed in U.S.patent application Ser. No. 10/380,547 and U.S. patent application Ser.No. 10/380,589 (both filed Mar. 17, 2003, both entitled “PiezoelectricActuator and Pump Using Same”, and both incorporated by reference hereinin their entirety). That drive circuit comprises a EL lamp drivercircuit which was originally designed to drive electro-luminescent (EL)lamps, but which has now ingeniously been employed in the referenceddocuments for driving piezoelectric pumps. The EL lamp driver circuit isa high-powered, switch-mode integrated circuit (IC) inverter intendedfor backlighting color LCDs and automotive applications. The speciallydesigned EL lamp driver IC and a few components such as a dischargecircuit comprise a complete EL lamp driving circuit.

Described in more detail, the EL lamp driver circuit uses a relativelyhigh frequency oscillator or state-machine to drive a flyback circuit toproduce high-voltage charges that are stored in a storage capacitor. Thestorage capacitor is then treated as a high-voltage source of directcurrent which is applied to a bridge-type switching circuit that isdriven by either a second oscillator or state-machine or a signalderived from the flyback oscillator to produce a reversing field effect.

These EL lamp driver circuits have been widely employed in theelectroluminescent lighting industry and consequently many of thecircuit elements have been integrated into “one-chip” solutions. This ELlamp driver technology/circuitry has evolved to drive the displays ofhandheld electronic devices such as cell phones, Personal DigitalAssistants (PDAs) and electronic games. The circuits can operate at lowfrequency and current draw, and at relatively high frequencies, makingthem very attractive for portable applications. Moreover, equipped witha discharge circuit design, the EL circuit minimizes EL lamp systemnoise, i.e., noise that would affect the operation of other integratedcircuits or chips.

Despite its overall ingenious and overall beneficial utilization inpiezoelectric pumps, some aspects of using a EL lamp driver circuit areproblematic. Several example problems are now briefly described.

As a first example problem, the EL lamp driver is limited in that itoperates only at a fixed frequency once installed. The oscillatorsand/or state machines used in EL lamp drivers are fixed. The EL lampdriver circuits are “Mona Lisa's”—each circuit having a fixed flybackfrequency. As a result, when used in a piezoelectric pump, the EL lampdriver circuit provides a fixed piezoelectric drive frequency and afixed output voltage to input voltage/load ratio. When used in apiezoelectric pump, the EL lamp driver circuits are essentiallyirrevocably “tuned” to a specific piezoelectric application by varyingcomponent values at the time of manufacture.

As a second example problem, the output wave form of the EL lamp drivercircuit is a modified sawtooth which creates audible noise in the piezoeven under load (due to the sharp peak on the waveform output by the ELlamp driver circuit). This is due, in part, to the architecture of theEL lamp driver circuit which employs a crude, somewhat direct currentsource. This current source is digitally switched by a bridge circuit toproduce the reversing field, so that the resulting drive waveform is farfrom pure. Square waves and sawtooths are common with ragged,time-varying frequency content signals being typical. But non-audioapplications piezoelectric actuators and the devices that employ themtypically need to operate at pure frequencies for maximum efficiency andto produce the least amount of audible noise. So when a drive waveformis applied that has frequency content outside of the targetedfundamental drive frequency, that extraneous frequency content addslittle to the work output of the piezoelectric element but greatlyincreases undesirable actuator audible noise.

As a third example problem, the only variable user input to the EL lampdriver circuit is the voltage input (Vin). As such, the current drivecircuits do not have means for accepting external control inputs ormonitoring local actuator related parameters. Capabilities such asresonance detection, pressure feedback, temperature feedback, externalmodulation, etc. were not heretofore contemplated for drive circuits fora piezoelectric actuator in a pump environment.

The EL lamp driver architecture employs a unipolar voltage source todrive the piezoelectric actuator in bipolar fashion. Given this fact, itis unavoidable that both “sides” of the piezoelectric actuator aresubjected to voltage potentials other than system ground. Inapplications such as a pump which pumps a conductive liquid, it ishighly desirable that the fluid side of the actuator always remain atsystem ground. This cannot be achieved using the EL lamp drivercircuitry.

What is needed, therefore, and an object of the present invention, is apiezoelectric actuator drive circuit which overcomes one or more of theforegoing problems and deficiencies.

BRIEF SUMMARY

A drive circuit produces a drive signal for a pump having apiezoelectric actuator, with the piezoelectric actuator forming a partof the drive circuit and serving to shape a waveform of the drivesignal. The piezoelectric actuator essentially serves as a chargestorage device for a power supply for the drive circuit. The drivecircuit comprises a pulse generator which generates digital pulses; aconverter circuit which uses the low voltage, long period digital pulsesgenerated by the pulse generator to produce high voltage, shorter periodpulses (charge packets); and, the piezoelectric actuator. Thepiezoelectric actuator, by its capacitive nature, integrates the chargepackets to shape the waveform of the drive signal. Thus the shape forthe waveform is influenced by the digital pulses produced by the pulsegenerator and the capacitance of the piezoelectric actuator. Thepiezoelectric actuator integrates the charge packets to yield a drivefield that preferably approximates a sine wave. While the capacitance ofthe piezoelectric actuator is essentially fixed, by controlling thegenerator pulses (e.g., varying a pulse width modulation duty cycle) ona pulse by pulse basis, waveforms of arbitrary complexity can beproduced. The drive circuit together with the piezoelectric elementfacilitates the integration of the high frequency charge packets into alower frequency drive waveform of any desired wave shape.

In one non-limiting example embodiment, the pulse generator comprises amicrocontroller-based pulsed width modulator (PWM) circuit and theconverter circuit comprises a flyback circuit. The flyback circuitproduces potentials that are bipolar with respect to an electricalground. Preferably, the frequency of the charge packets produced by theconverter circuit is greater than the ability of the piezoelectricactuator to mechanically respond so that the charge packets produced bythe converter circuit do not contribute to one of mechanicalinefficiency and noise in the piezoelectric actuator. Advantageously,neither a bridge converter circuit nor a charge storage circuit need beconnected between the converter circuit and the piezoelectric actuator.

Another aspect of the invention are pumps which incorporate or utilizethe drive circuit. Such a pump typically comprises a pump body for atleast partially defining a pumping chamber and an inlet and an outletwhich communicate with the pumping chamber. The piezoelectric actuatoris situated in the pump body and is responsive to a drive signal forpumping fluid between the inlet and outlet. The drive circuit producesthe drive signal for the piezoelectric actuator. The drive circuitcomprises a pulse generator which generates digital pulses, as well as aconverter circuit which uses the digital pulses generated by the pulsegenerator to produce short period, high voltage pulses (charge packets).The piezoelectric actuator also forms part of the drive circuit. Thepiezoelectric actuator integrates the charge packets to shape a waveformof the drive signal.

As another aspect, the invention encompasses methods of operating apiezoelectric pump. An example such pump has a piezoelectric actuatorsituated in a pump body and responsive to a drive signal for pumpingfluid between an inlet and an outlet of the pump body. The methodcomprises generating low voltage, long period digital pulses; using thedigital pulses to produce high voltage, short period pulses (chargepackets); and, using the piezoelectric actuator to integrate the chargepackets to shape a waveform of the drive signal.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features, and advantages will beapparent from the following more particular description of preferredembodiments as illustrated in the accompanying drawings in whichreference characters refer to the same parts throughout the variousviews. The drawings are not necessarily to scale, emphasis instead beingplaced upon illustrating the principles of the invention.

FIG. 1 is a top view of an example piezoelectric pump.

FIG. 2 is a side sectioned view of the pump of FIG. 1 taken along line2-2.

FIG. 3, FIG. 3A, FIG. 3B, FIG. 3C, FIG. 3D, FIG. 3E(1), FIG. 3E(2), FIG.3F, FIG. 3G, FIG. 3H(1), FIG. 3H(2), FIG. 3I(1), FIG. 3I(2), FIG. 3I(3),and FIG. 3J are schematic views of differing embodiments of examplepiezoelectric actuator drive circuits.

FIG. 4A-FIG. 4D are diagrammatic views of signals occurring in anexample piezoelectric actuator drive circuit.

FIG. 5A is a detailed schematic view of an example, non-limitingpiezoelectric actuator drive circuit.

FIG. 5B is a detailed schematic view of an example, non-limitingpiezoelectric actuator drive circuit showing inclusion of a PWM lookuptable.

FIG. 5C is a detailed schematic view of another example, non-limitingpiezoelectric actuator drive circuit.

FIG. 5D is a detailed schematic view of an example variation of thepiezoelectric actuator drive circuit of FIG. 5C.

FIG. 6A-FIG. 6G are flowcharts showing basic steps performed uponexecution of various routines by a pulse generator in accordance with anexample, non-limiting embodiment.

FIG. 7A-FIG. 7D are diagrammatic views of example signals for thepurpose of illustrating a change of pulse width modulation and acorresponding change of amplitude of a drive signal for a piezoelectricactuator.

FIG. 8A-FIG. 8D are diagrammatic views of example signals for thepurpose of illustrating a change of frequency or period of a drivesignal for a piezoelectric actuator.

FIG. 9A is a flowchart showing basic example steps included in acapacitance check routine.

FIG. 9B is a flowchart showing basic example steps included in acapacitance compensation routine.

FIG. 10A and FIG. 10B are diagrammatic views of two waveforms whichillustrate principles involved in determination of capacitance of apiezoelectric actuator.

FIG. 11A is a flowchart showing basic example steps included in animpedance measurement routine.

FIG. 11B is a flowchart showing basic example steps included in animpedance impulse response routine.

FIG. 12 is a diagrammatic view of an optimized waveform for a drivesignal for a piezoelectric pump.

FIG. 13 is a schematic view showing use of a waveform optimizer togenerate a table of waveform optimization values for a driving signalfor a piezoelectric pump.

FIG. 14 is a diagrammatic view of general aspects of a procedure forenabling a pulse generator of a piezoelectric pump to produce anoptimized waveform.

FIG. 15A is a diagrammatic view of a drive circuit for a piezoelectricpump which generates an optimized waveform using an open loop controltechnique.

FIG. 15B is a diagrammatic view of a drive circuit for a piezoelectricpump which generates an optimized waveform using a closed loop controltechnique.

FIG. 16 is a diagrammatic view of an example waveform optimizer.

FIG. 17 is a diagrammatic view showing a relation of FIG. 17A-FIG. 17D.

FIG. 17A-FIG. 17D are flowcharts which depict basic example stepsperformed in a waveform optimization procedure.

FIG. 18A is a diagrammatic view of an optimized waveform table accordingto one example embodiment.

FIG. 18B is a diagrammatic view of an optimized waveform table accordingto another example embodiment.

FIG. 19 is a schematic view showing receipt and handling of a digitalinput signal by an example piezoelectric actuator drive circuit.

FIG. 20A shows signal diagrams for a first mode of operating thepiezoelectric actuator drive circuit of FIG. 5C.

FIG. 20B shows signal diagrams for a second mode of operating thepiezoelectric actuator drive circuit of FIG. 5C.

DETAILED DESCRIPTION OF THE DRAWINGS

In the following description, for purposes of explanation and notlimitation, specific details are set forth such as particulararchitectures, interfaces, techniques, etc. in order to provide athorough understanding of the present invention. However, it will beapparent to those skilled in the art that the present invention may bepracticed in other embodiments that depart from these specific details.In other instances, detailed descriptions of well-known devices,circuits, and methods are omitted so as not to obscure the descriptionof the present invention with unnecessary detail. Moreover, individualfunction blocks are shown in some of the figures. Those skilled in theart will appreciate that the functions may be implemented usingindividual hardware circuits, using software functioning in conjunctionwith a suitably programmed digital microprocessor or general purposecomputer, using an application specific integrated circuit (ASIC),and/or using one or more digital signal processors (DSPs). Captions ortextual headings appearing in this detailed description do not define orlimit the invention(s) described herein in anyway, but are merelyinserted for possible convenience of the reader.

1.0 Representative Piezoelectric Pump Structure

FIG. 1 and FIG. 2 show a representative piezoelectric pump 10 whichserves merely as a non-limiting example for illustrating a drive circuitand an example utilization device which hosts a piezoelectric actuatorwhich is driven by the drive circuit. Other than having an actuatorwhich is at least partially comprised of a piezoelectric element, theillustrated physical structure of pump 10 is not critical. Indeed, thedrive method and drive circuit disclosed herein can be used with manytypes of utilization devices, including but not limited to differenttypes of which have variations of some or all of the structuralcomponents of pump 10.

The example pump 10 of FIG. 1 and FIG. 2 is generally in the form of acircular thin cylinder. Pump 10 includes pump body 12; piezoelectricactuator 14; pump cover 16; and, piezoelectric actuator drive circuit18. The pump body 12 has inlet 22 and outlet 24, either or both of whichmay be part of the pump body 12 or separate pieces otherwise fastened topump body 12. Pump cover 16 may be fastened to the pump body 12 by anysuitable means. The piezoelectric actuator drive circuit 18 may beexternally positioned on the pump body as shown in FIG. 1.Alternatively, the pump cover may partially or entirely comprise acircuit board (e.g., printed circuit board, printed wiring board) withcircuit elements which comprise the piezoelectric actuator drive circuit18. In this alternative, the circuit board serves an additional functionof a mechanical or structural part for the pump. Further locations ofpiezoelectric actuator drive circuit 18 are also possible, it beingunderstood that the piezoelectric actuator drive circuit 18 hasappropriate electrical leads and/or connections, including an electricallead/connection to piezoelectric actuator 14.

A pump chamber 30 is formed in the center of the pump body 12, forexample by molding or machining. The dimensions of pump 10, and hencethe dimensions of pump chamber 30, depend on the particular application.A seat 32 is provided in pump body 12 at the top of the pump chamber 30.As shown in FIG. 2 the piezoelectric actuator 14 is mounted on the seat32 to form a diaphragm in the top of the pump chamber 30. A sealingwasher 34 having essentially the same outer diameter as thepiezoelectric actuator 14 resides on seat 32. An 0-ring seal 36 issituated on top of the piezoelectric actuator 14 to hold thepiezoelectric actuator 14 in place.

In one illustrated embodiment, piezoelectric actuator 14 can take theform of a piezoelectric wafer laminated to/between one or moreruggedizing layers (e.g., metal layers). An example such piezoelectricactuator is illustrated in U.S. patent application Ser. No. 10/380,547and U.S. patent application Ser. No. 10/380,589 (both filed Mar. 17,2003, both entitled “Piezoelectric Actuator and Pump Using Same”, andboth incorporated by reference herein in their entirety). However, thedrive method and drive circuit disclosed herein is not confined to anyparticular type of piezoelectric actuator.

As mentioned above, structural aspects of the example pump asillustrated in FIG. 1 and FIG. 2 are not constraining. For example, thegeometry, size, composition, and internal configuration of the pump bodycan vary in other embodiments or applications. Moreover, the manner ofseating or sealing or positioning of piezoelectric actuator 14 in a pumpbody is not critical. Further, the position, number, orientation, andstructure of the inlet(s) and outlet(s) are not critical, nor is theexistence or type of any particular valve which may reside in or nearsuch one or more of such inlet(s) and/or outlet(s).

The piezoelectric actuator drive circuit 18 is preferably but notnecessarily embodied in an electronic printed circuit board (PCB). Thepiezoelectric actuator drive circuit 18 can take many distinct forms orembodiments and have many distinct modes of operation, with some of theembodiments and modes being implemented in conjunction with otherembodiments and modes (e.g., some embodiments/modes can be combined torealize yet other embodiments and modes).

2.0 Example Embodiments of Drive Circuits

General non-limiting examples of the piezoelectric actuator drivecircuit 18 are illustrated in FIG. 3 and FIG. 3A, FIG. 3B, FIG. 3C, FIG.3D, FIG. 3E(1), FIG. 3E(2), FIG. 3F, FIG. 3G, FIG. 3H(1), FIG. 3H(2),FIG. 3I(1), FIG. 3I(2), FIG. 3I(3), and FIG. 3J. In each of the exampleembodiments and modes the piezoelectric actuator drive circuit 18applies a series of low power, long period digital pulses to theconverter circuit 102, so that converter circuit 102 can apply packetcharges which are integrated by the piezoelectric actuator 14. In eachof these embodiment, the piezoelectric actuator drive circuit 18 appliesa drive signal to the piezoelectric actuator 14, with the piezoelectricactuator 14 comprising or being adjacent or proximate to a utilizationdevice. The particular utilization device which uses or incorporates thepiezoelectric actuator 14 depends upon the application and/orenvironment. One example, non-limiting utilization device discussedherein is a piezoelectric pump.

2.1 Drive Circuit Providing Digital Pulses

As shown in simplified form in FIG. 3, piezoelectric actuator drivecircuit 18 comprises digital pulse generator 100 and converter circuit102. A power supply 103 provides power both to pulse generator 100 andconverter circuit 102. The pulse generator 100 provides low voltage,long period digital pulses to converter circuit 102. The convertercircuit 102 outputs a stream of high voltage, short period pulses(charge packets) on line 104 to piezoelectric actuator 14. Thus, as oneof its aspects, the piezoelectric actuator drive circuit 18 of FIG. 3(and of all other embodiments of drive circuits described herein)outputs a digital pulse stream (e.g., series of charge packets) whichare integrated by the piezoelectric actuator 14.

2.2 Drive Circuit Receiving Feedback Signal

As an aspect of its operation, the piezoelectric actuator 14 actuallyserves as part of piezoelectric actuator drive circuit 18. By virtuee.g., of its capacitance, piezoelectric actuator 14 integrates the shortperiod pulses (charge packets) which are output by converter circuit 102as the drive signal on line 104. In view of the integration of drivesignal on line 104, the drive signal on line 104 actually acquires thegeneral shape of a sine wave. Thus, piezoelectric actuator 14contributes to shaping the waveform (e.g., drive signal applied on line104) of the piezoelectric actuator drive circuit 18.

The converter circuit 102 receives digital pulses from the pulsegenerator 100 and generates a stream of high voltage, short periodpulses (charge packets) on line 104. In an illustrated exampleembodiment, the digital pulses applied to converter circuit 102 frompulse generator 100 have a pulse width modulation and a period or cyclewhich affects the amplitude and the period of the sine wave waveformwhich results as the drive signal on line 104. For sake of basicillustration, FIG. 4A shows a series of the digital pulses which arepulse width modulated. The signal of FIG. 4A has a period P, with thedigital pulses having a pulse width W. As explained subsequently, thepositive pulse having the width W corresponds to a portion of the periodP in which inductance(s) in converter circuit 102 are charged forsubsequent delivery of charge as the drive signal on line 104.

FIG. 3A shows an embodiment/mode of piezoelectric actuator drive circuit18A in which the pulse generator 100 receives a feedback signal on line105. The feedback signal on line 105 is preferably a voltage feedbacksignal which can be utilized for various purposes, and in such case isan analog signal. For example, the voltage feedback signal on line 105can be utilized to determine the resonance or capacitance ofpiezoelectric actuator 14. Using the voltage feedback signal on line105, the piezoelectric actuator drive circuit 18 can build any desiredwaveform for application to piezoelectric actuator 14. Thus, as anotherof its aspects, the piezoelectric actuator drive circuit can utilize afeedback signal to shape the waveform of the drive signal forpiezoelectric actuator 14.

2.3 Drive Circuit Receiving Analog Input Signal

FIG. 3B shows an embodiment/mode of piezoelectric actuator drive circuit18B in which the drive signal on line 104 is generated in accordancewith or influenced by an analog input signal to the drive circuit. Theanalog input signal is obtained from a user input device, two of whichhappen to be shown in FIG. 3B as user input device 106 and user inputdevice 108 shown in FIG. 3B. It should be understood that a fewer orgreater number of user input devices can be utilized. The user inputdevices 106 and 108 can be, for example, variable potentiometers ortrimpots or any other device which generates or applies an analog signalin accordance with a user-selected number. In an example embodiment,user input device 106 can be used to set the period of the drive signalon line 104 by setting the period P of the pulse width modulated digitalpulses applied by pulse generator 100 to converter circuit 102 (see FIG.4). User input device 108 can be used to set a voltage/amplitude of thedrive signal on line 104 by setting the pulse width W of the pulse widthmodulated digital pulses applied by pulse generator 100 to convertercircuit 102 (see FIG. 4). The user input device 106 and user inputdevice 108 are adjusted by the user to generate voltages that aresomewhere between ground and an A/D reference level (e.g., of amicrocontroller which can comprise pulse generator 100). As one aspectof operation, these signals can be converted in software to controlsignals for frequency and pump peak-to-peak drive voltage. Typically, auser might set the pots to (for example) a 60 Hz frequency and 350 voltspeak-to-peak drive. Thus, as another of its aspects, the piezoelectricactuator drive circuit can utilize an analog input signal to influence adrive signal that is applied as digital pulses to a piezoelectricactuator.

2.4 Drive Circuit Receiving Digital Input Signal

FIG. 3C shows an embodiment/mode of piezoelectric actuator drive circuit18C in which the drive signal on line 104 is generated in accordancewith or influenced by a digital signal which is inputted through agraphical user interface (GUI) or the like. In the particularillustration of FIG. 3C, the graphical user interface (GUI) resides at acomputer 109 (which can be a desktop as pictured, or laptop, or othercomputer-like terminal) and can take the form of keyboard, pointer (e.g.mouse), touch screen, or other suitable input device. The digital signalfrom computer 109 can be applied via connector 110 to pulse generator100. Thus, as another of its aspects, the piezoelectric actuator drivecircuit can utilize a digital input signal(s) to influence a drivesignal that is applied to a piezoelectric actuator.

2.5 Drive Circuit Receiving Input Signal from Sensor in UtilizationDevice

FIG. 3D shows an embodiment/mode of piezoelectric actuator drive circuit18D in which the drive signal on line 104 is generated in accordancewith or influenced by a digital signal which is generated by a sensor112-3D which is located in an interior of the utilization device, e.g.,in pump chamber 30 of pump 10. In the illustrated embodiment, sensor112-3D is immersed in or at least partially in contact with fluid inpump chamber 30. The sensor 112-3D can be mounted flush on a internalwall of the pump chamber 30 or otherwise situated within pump chamber30. The sensor 112-3D can sense any appropriate parameter of fluid inpump chamber 30 which is germane to operation of piezoelectric actuator14 and pump 10, such as temperature, viscosity, pressure, or deflectionof piezoelectric actuator 14, for example. Use of the sensor 112-3D isan example of a mode in which the drive circuit facilitates changing(e.g., dynamically) the drive signal in dependence upon a sensedoperational parameter of the pump.

2.6 Drive Circuit Receiving Input Signal from Sensor Elsewhere in/onUtilization Device

Whereas FIG. 3D a sensor which is located inside a utilization device,FIG. 3E(1) and FIG. 3E(2) show embodiments/modes of piezoelectricactuator drive circuit 18E(1) and 18E(2) in which the drive signal online 104 is generated in accordance with or influenced by a digitalsignal which is generated by respective sensors 112-3E(1) and 112-3E(2)which are located elsewhere about the utilization device, e.g., aboutpump 10. In FIG. 3-E(1), sensor 112-3E(1) is situated in a back portionof the pump and is shown as abutting piezoelectric actuator 14. Thesensor 112-3E(1) can be used, e.g., to sense displacement ofpiezoelectric actuator 14 and is not exposed to fluid in pump chamber30. The sensor 112-3E(2) of FIG. 3E(2) is positioned in an outlet 24,and can also sense any appropriate parameter germane to operation ofpump 10, such as temperature, viscosity, flowrate, or pressure, forexample.

2.7 Drive Circuit Receiving Input Signal from Sensor Internal to ServedDevice

FIG. 3F shows an embodiment/mode of piezoelectric actuator drive circuit18F in which the drive signal on line 104 is generated in accordancewith or influenced by a digital signal which is generated by a sensor112-3F which is located within a served device 114-3F. The device 114-3Fis referenced as a served device in the sense that fluid pumped by pump10 is directed or circulated around, through, or near the served device.The served device 114-3F can be, for example, electronics (e.g., aprocessor or other heat dissipating electrical device that invitescooling), a heat exchanger (which is cooled by pumped fluid), or medicalapparatus. As such, a path of fluid flow is illustrated from outlet 24of pump 10 to served device 114-3F and back from served device 114-3F toinlet 22 of pump 10.

2.8 Drive Circuit Receiving Input Signal from Sensor Proximate ServedDevice

FIG. 3G shows an embodiment/mode of piezoelectric actuator drive circuit18G in which the drive signal on line 104 is generated in accordancewith or influenced by a digital signal which is generated by a sensor112-3G which is located on or near a served device 114-3G. The identityand nature of the served device 114-3G depends on the application anduse of pump 10, and includes but is not limited to applications in theelectronics and medical fields such as those described above.

2.10 Drive Circuit Operating in Conjunction with Delivery Scheduler

FIG. 3H(1) shows an embodiment/mode of piezoelectric actuator drivecircuit 18G which works in conjunction with a delivery scheduler 160. Byreceiving input from the delivery scheduler 160, the piezoelectricactuator drive circuit 18G controls non-continuous operation of thepiezoelectric actuator 14. For example, the delivery scheduler 160 mayeither control or supply piezoelectric actuator drive circuit 18G withinformation for the timing of application of a drive signal on line 104to piezoelectric actuator 14. The delivery scheduler 160 can but doesnot have to be utilized in embodiments which receive feedback on line105, for which reason line 105 is shown as a broken line in FIG. 3H(1).

The logic and operation of delivery scheduler 160 can be varied fromapplication to application. For example, delivery scheduler 160 maydirect piezoelectric actuator drive circuit 18G to supply a drive signalfor one or more finite time periods (e.g., in response to externalstimuli or signal to delivery scheduler 160 or to piezoelectric actuatordrive circuit 18G). One example scenario for such finite deliveryinvolves driving piezoelectric actuator 14 in a pump for delivering ordosing fluid (e.g., medication) in accordance with a prescribed flowand/or volume amount.

Alternatively, delivery scheduler 160 may apprise piezoelectric actuatordrive circuit 18H of certain sensed conditions which are to be monitoredeither to initiate or to terminate the drive signal on line 104 topiezoelectric actuator 14. For example, through delivery scheduler 160the piezoelectric actuator drive circuit 18H may be instructed to applythe drive signal to piezoelectric actuator 14 and thus turn on theutilization device incorporating the same when a temperature (e.g., of afluid) is detected to be outside a predefined temperature range.

The delivery scheduler 160 can be implemented in various ways. Forexample, logic for the delivery scheduler 160 can be included in amicroprocessor of the digital pulse generator and accessed through agraphical user interface or other input device. Alternatively, thedelivery scheduler 160 may be a separate processor or computer asunderstood with reference to FIG. 3C.

In yet further embodiments/modes, generically illustrated by FIG. 3H(2),the delivery scheduler 160 may include a remote unit 162 which isconnected to digital pulse generator 100 through an appropriatecommunication channel 164. For example, the communication channel 164may be a wireless network, in which case both the delivery scheduler 160and the remote unit 162 include a wireless station (e.g., laptop withmobile termination, cell phone, Bluetooth unit, etc.) so that a user maysend programming information (e.g., drive signal start and/or stoptimes) to delivery scheduler 160 over an air interface (e.g., radiofrequency or other electromagnetic spectra).

As another example, the remote unit may be a browser and thecommunication channel 164 can comprise a packet network such as theInternet, for example. In such example, either the piezoelectricactuator drive circuit 18H or the utilization device itself may have itsown internet or network address.

Using either of these or other implementations, through the remote unita user can input data to delivery scheduler 160 so that the deliveryscheduler 160 can control the timing of application and cessation of thedrive signal to the piezoelectric actuator 14.

2.11 Drive Circuit Driving Plural Actuators

FIG. 3I(1)-FIG. 3I(3) show embodiments/modes of piezoelectric actuatordrive circuits 18I(1)-18I(3) which serve plural piezoelectric actuators.Distinctive elements of FIG. 3I(x) bear a corresponding “x”parenthetical suffix, and for each FIG. 3I(x) the piezoelectric actuatordrive circuit 18I(x) serves plural piezoelectric actuators 14(x)_(y),where y ranges from 1 to n. For each embodiment, the pluralpiezoelectric actuators 14(x)_(y) may be incorporated in respectiveplural utilization devices (e.g., plural pumps 10), or even plural typesof utilization devices. For example, piezoelectric actuator 14(x)₁ maybe included in a pump; piezoelectric actuator 14(x)₂ may be included ina fan or other type (non-pump) of utilization device. Alternatively, inother embodiments the plural piezoelectric actuators may be may beutilized in a single device or system. Preferably but not necessarilythe piezoelectric actuator drive circuits 18I(x) comprise a separateconverter circuit 102(x)_(y) for each of the plural piezoelectricactuators 14(x)_(y).

In the embodiment/mode of FIG. 3I(1) the same PWM-A and PWM-B digitalpulses generated by pulse generator 100 are applied to the convertercircuits 102(1)₁ and 102(1)_(n) associated with the separatepiezoelectric actuators 14(1)₁ and 14(1)_(n), respectively. Theembodiment/mode of FIG. 3I(1) is particularly suitable when the pluralpiezoelectric actuators 14(x)_(y) function in parallel and/or in timesynchronization.

In the embodiment/mode of FIG. 3I(2), the pulse generator 100(2)produces different PWM-A and PWM-B digital pulses for at least two ofthe converter circuits 102(2)_(y), so that the plural piezoelectricactuators 14(2)_(y) are driven differently. The embodiment/mode of FIG.3I(2) is particularly beneficial when the feedback signals on line105(2)_(y) or other input signals (e.g., sensor input signals asdescribed, e.g., with reference to FIG. 3D, FIG. 3E(1), and FIG. 3E(2))require or invite different PWM-A and PWM-B digital pulses. Thedifferent PWM-A and PWM-B digital pulses may be needed either tosynchronize or time the plural and uniquely functioning/sensedpiezoelectric actuators 14(2)_(y), or otherwise to uniquely drive eachpiezoelectric actuator 14(2)_(y). For example, two piezoelectricactuators 14(2)_(y) which are driven in parallel may neverthelessrequire different PWM-A and PWM-B digital pulses in view of suchdiffering factors as fluid properties, length of tube, tube composition,etc. FIG. 3I(3) shows a variation of the embodiment of FIG. 3I(2) inwhich one or more of the piezoelectric actuators 14(3)_(y) are situatedin series with respect to fluid handling.

If desired, input signals for the piezoelectric actuator drive circuits18I(x) can be obtained from one or more analog input devices or one ormore digital input devices (e.g., sensors) as understood from thepreceding discussion, so that (in addition to serving pluralpiezoelectric actuators 14(x)_(y)) the piezoelectric actuator drivecircuits 18I(x) can take on attributes of any of the previouslydescribed embodiments.

2.12 Drive Circuit Receiving Analog and Digital Input Signals

FIG. 3J shows an embodiment/mode of piezoelectric actuator drive circuit18J in which the drive signal on line 104 is generated in accordancewith or influenced by a both one or more analog input signals and one ormore digital signals. In the non-limiting example shown, two analogsignals are received from user input device 106 and user input device108. The one or more digital signals are received by pulse generator 100through connector 110, and can be originated by user input devices orsensors such as those illustrated by way of example in the precedingembodiments.

3.0 Example Drive Circuit Implementation

Subsequent generic reference herein to a drive circuit, or to apiezoelectric actuator drive circuit (such as piezoelectric actuatordrive circuit 18), can refer to one or more types of piezoelectricactuator drive circuits, such as those types of drive circuits whichhave been generally described above. Reference to a drive circuit, or toa piezoelectric actuator drive circuit (such as piezoelectric actuatordrive circuit 18), is not constrained or limited by the examples hereinprovided.

FIG. 5A, FIG. 5B, FIG. 5C, and FIG. 5D show, in more detail,illustrative example (non-limiting) implementations piezoelectricactuator drive circuits 18 (which could be utilized, e.g., for one ormore of the piezoelectric actuator drive circuits 18 described above).As in the foregoing, the piezoelectric actuator drive circuits 18 hereindescribed produce a drive signal for a pump having a piezoelectricactuator, with the piezoelectric actuator forming a part of the drivecircuit and serving to shape a waveform of the drive signal for thepiezoelectric actuator.

3.1 First Example Drive Circuit: Structure

In the example embodiment of FIG. 5A, piezoelectric actuator drivecircuit 18 comprises pulse generator 100; converter circuit 102; andpiezoelectric actuator 14. The converter circuit 102 uses the digitalpulses produced by pulse generator 100 to produce high voltage, shortperiod pulses (charge packets). As explained hereinafter, piezoelectricactuator 14, by its capacitive nature, integrates the charge packets toyield a drive field that preferably approximates a sine wave. While thecapacitance of the piezoelectric actuator is essentially fixed, bycontrolling the generator digital pulses (e.g., varying a pulse widthmodulation duty cycle) on a pulse by pulse basis, waveforms of arbitrarycomplexity can be produced.

In the non-limiting example embodiment of FIG. 5A, the pulse generator100 comprises a microcontroller-based pulsed width modulator (PWM)circuit (with one or more microcontrollers 116) and the convertercircuit 102 comprises a flyback circuit. The flyback circuit 102produces potentials that are bipolar with respect to an electricalground. Preferably the frequency of the charge packets produced by theflyback circuit 102 is greater than of the ability of the piezoelectricactuator 14 to mechanically respond so that the pulses produced byflyback circuit 102 do not contribute to one of mechanical inefficiencyand noise in piezoelectric actuator 14. Advantageously, in theembodiment of FIG. 5A neither a bridge converter circuit nor a chargestorage circuit need be connected between the flyback circuit 102 andpiezoelectric actuator 14.

In an illustrated, non-limiting embodiment, pulse generator 100 is shownas including a microcontroller 116. It should be understood that pulsegenerator 100 may comprise one or more microcontrollers or processorsand/or other circuits. In addition, certain operations orfunctionalities herein ascribed to microcontroller 116 can also beconsidered to be performed by one or more processors, including but notlimited to a microprocessor which comprises microcontroller 116. In thisregard, for example, in the embodiments/modes of FIG. 3I(2) and FIG.3I(3), the pulse generators 100(2) and 100(3) may include plural or eveny number of microcontrollers for controlling the respective y number ofpiezoelectric actuators 14(x)_(y). Alternatively, the pulse generators100(2) and 100(3) for the embodiments/modes of FIG. 3I(2) and FIG. 3I(3)may include a suitable microcontroller with multitasking capability anddiffering output pin arrangement for driving the y number ofpiezoelectric actuators 14(x)_(y).

The piezoelectric actuator drive circuit 18 is connected to a powersupply 2 0 103. The piezoelectric actuator drive circuit 18 comprises apower supply monitor 118. The power supply monitor 118 includes an inputvoltage divider network 119 (which comprises resistors R1 and R2connected in series between power supply 103 and ground); inputcapacitance C1 connected between power supply 103 and ground; and,voltage input regulator 120. The voltage divider network formed byresistors R1,R2 serves to generate an analog input to microcontroller116 (applied at pin 18) for monitoring the input supply voltage. Thisallows microcontroller 116 to make adjustments via software to maximizethe overall circuit performance for varying supplies. Capacitor C1filters the main supply from power supply 103. The voltage inputregulator 120 has an input terminal connected to pulse generator 100,and an output terminal connected to pin 15 of microcontroller 116.

Advantageously, the piezoelectric actuator drive circuit 18 can receiveinputs including user input and external sensor input. To this end, twoexample user input devices 106 and 108 in the form of respectivepotentiometers (trimpots) R8 and R9 are connected between pins 17 ofmicrocontroller 116 and ground. A greater or lesser number of user inputdevices can be provided. A connector 110 has leads connected to certainpins of microcontroller 116. As explained above, some of the pins inconnector 110 may be connected to a source (such as a computer or one ormore sensors) which produces signals which may be utilized bymicrocontroller 116 in shaping the waveform of the drive signal appliedon line 104. The number of such external sensors can be variable inaccordance with user desire and/or application or environment of use ofpump 10.

An output monitor 122 in the form of a feedback voltage division network(which comprises resistors R6 and R7) is connected between the drivesignal applied on line 104 and ground. A node of the feedback voltagedivision network between resistors R6 and R7 is connected to pin 19 ofmicrocontroller 116.

As understood from the foregoing, the pulse generator 100 can be amicrocontroller. Yet the pulse generator 100 can also be any ASIC or anyother device or circuit which generates pulses suitable for use byflyback circuit 102 and piezoelectric actuator 14 for the generalpurposes herein described. In the illustrated, non-limited exampleembodiment, the pulse generator 100 is a microcontroller 116 such as anATTINY26L microcontroller.

Pin connections for the microcontroller 116 of the illustratedembodiment are now briefly described. Pins 1, 2, 3 and 4 serve doubleduty as in-circuit programming pins and the functions described below.For example, pins 2 & 4 are the outputs of a software-controlled pulsewidth modulator embodied in microcontroller 116 and are used to driveflyback circuit 102. In particular, a signal PWM-A is output from pin 2on line 124 to flyback circuit 102; a signal PWM-B is output from pin 4on line 126 to flyback circuit 102. The pulse width-modulated signalPWM-A comprises positive digital pulses such as those shown in FIG. 4Aas having period P and (positive) pulse width W. The pulsewidth-modulated signal PWM-B comprises negative digital pulses such asthose shown in FIG. 4B as also having period P and (negative) pulsewidth W.

Pins 2 & 3 provide for a 2-wire serial interface buss 128 tomicrocontroller 116 for communications with other systems (for example,via buss 128 an array of pumps can be remotely controlled by anothersystem such as a desktop computer). Pin 5 is connected to an outputterminal of voltage input regulator 120 and to a filter “bypass”capacitor C2. Pins 7, 8, 9, 11, 12, and 20 are general purposeinput/output pins that provide for external analog and/or digitalcommunications so that various things such as temperature or pressuresensors can be attached to the pump to control its operation. Pins 13 &14 are the input signals from user input device 108 and user inputdevice 106, respectively. Pin 17 provides access (e.g., for user inputdevice 106 and user input device 108) to the analog reference bandpassreference voltage of microcontroller 116. Capacitor C3 connected betweenpin 17 and ground is a bypass capacitor for the analog reference voltagefor the analog to digital converter of microcontroller 116. Pin 18 isthe analog input from power supply monitor 103, and is connected to anode between resistor R1 and resistor R2 of input voltage dividernetwork 119. Pin 19 is the analog input for the output monitor 122 andis connected to a node between resistor R6 and resistor R8 of thevoltage division network which comprises output monitor 122.

The flyback circuit 102 comprises transistor Q1, transistor Q2,transistor Q3, and transistor Q4. In the illustrated embodiment, thetransistors are metal oxide semiconductor field effect transistors(MOSFET). The pulse width modulated signal PWM-A output from pin 2 ofmicrocontroller 116 is applied on line 124 and via capacitor C4 to thegate of transistor Q1; the pulse width modulated signal PWM-B outputfrom pin 4 of microcontroller 116 is applied on line 126 to the gate oftransistor Q2. A resistor R10 connected between line 126 and groundserves as a pull down to increase noise immunity.

The source of transistor Q1 is connected by line 130 to power supply103. The drain of transistor Q2 is connected by line 132 and throughinductor L2 to power supply 103. The source of transistor Q2 isconnected to ground.

Resistor R3 and diode D1 are connected between lines 124 and 130.Capacitor C4, resistor R3, and diode D1 serve to bias the output ofmicrocontroller 116 up to one microcontroller output voltage level belowthe main supply voltage so that microcontroller 116 can turn transistorQ1 on and off even when the main supply voltage greatly exceeds thesupply voltage of microcontroller 116.

The drain of transistor Q1 is connected to ground through inductance L1and to an cathode of diode D2. The cathode of diode D2 is connected bothto ground through snubber capacitor C5 and to the emitter of transistorQ3. The drain of transistor Q3 is connected through resistor R4 toground. The collector of transistor Q3 is connected to the piezoelectricactuator 14 via line 104.

The emitter of transistor Q4 is connected by line 132 and throughinductor L2 and diode D3 to power supply 103. The anode of diode D3 isconnected to inductor L2 and to the drain of transistor Q2. The cathodeof diode D3 is connected to ground through snubber capacitor C6 and tothe emitter of transistor Q4. The gate of transistor Q4 is connectedthrough resistor R5 to line 132. The collector of transistor Q3 isconnected to piezoelectric actuator 14 via line 104.

Transistor Q1, transistor Q2, inductor L1, inductor L2, diode D2, anddiode D3 are the primary components for generating the positive andnegative high voltage flyback pulses as described above. The capacitorsC5 and C6 are “snubber” capacitors which bring the fundamental frequencycomponent of the flyback pulses within the frequency response capabilityof control transistors Q3 & Q4.

Transistor Q3, transistor Q4, resistor R4, and resistor R5 form asteering circuit for the flyback voltage, preventing chargecross-conduction that would otherwise render the circuit dysfunctional.

Resistors R6 and R7 form a voltage divider for output monitor 122, andserve to allow microcontroller 116 to monitor the output voltage andthus regulate the drive voltage. Regulation of the drive voltage isaccomplished by microcontroller 116 varying the pulse widths W of thepulse bursts applied as PWM-A on line 124 and as PWM-B applied on line126 (see FIG. 4B). The actual drive signal applied on line 104 is inessence derived from the pulse width modulated signals applied toconverter circuit 102, e.g., signal PWM-A applied on line 124 and signalPWM-B applied on line 126.

3.2 First Example Drive Circuit: Operation

In operation, the pulse generator 100 (e.g., microcontroller 116) ofpiezoelectric actuator drive circuit 18 generates output pulses.Specifically, in the embodiment illustrated in FIG. 3, during a firsthalf or positive half of a pulse cycle (e.g., first half cycle) themicrocontroller 116 generates a pulse width modulation signal PWM-A online 124 such as that shown in FIG. 4A. Then, during a second half ornegative half of the cycle (e.g., second half cycle) the microcontroller116 generates a corresponding pulse width modulation signal PWM-B online 126 such as that shown in FIG. 4B. The entire cycle corresponds toa frequency or period P or PumpRate which, in one example embodiment,can be a user input value.

The flyback circuit 102 is driven by the signals PWM-A and PWM-B whichare generated by microcontroller 116. In the illustrated embodiment, thesignals PWM-A and PWM-B are variable frequency pulse trains at afrequency of 125 KHz. In typical operation of a pump being driven at say60 Hz, for the first half cycle a burst of pulses lasting approximately1/120 of a second would be sent on line 124 as PWM-A while the signalfor PWM-B on line 126 is held at ground (turning transistor Q2 “off”).Examples of the series of digital pulses applied as PWM-A on line 124are shown in FIG. 4A. Conversely, for the second half cycle the PWM-Asignal on lie 124 is held high (turning transistor Q1 off) and anidentical series of drive pulses is sent to transistor Q2 as signalPWM-B on line 126. Examples of the series of digital pulses applied asPWM-B online 126 are shown in FIG. 4B.

As explained herein after, the pulse width of the digital pulses appliedas signal PWM-A on line 124 and as signal PWM-B on line 126 can becontrolled by microcontroller 116 in accordance with one or morefactors. For example, the excitation voltage and the reversal frequencycan be dynamically manipulated based on either external control signalsor on parameters being monitored locally such as actuator load, actuatorresonance, pump pressure, temperature, etc. In addition, in one examplemode, the period P of the signals PWM-A and PWM-B can be adjusted ifdesired as hereinafter discussed.

The PWM-A digital pulses applied from microcontroller 116 on line 124 toflyback circuit 102 cause transistor Q1 to switch on and off. When on,transistor Q1 causes magnetic flux to be stored in inductor L1.Immediately after transistor Q1 turns off, the stored flux causes anegative “flyback” voltage to be generated which is captured by diode D2and capacitor C5, forcing transistor Q3 into conduction and thus thecaptured charge is further distributed to pump 10 and to piezoelectricactuator 14 in particular.

At the end of the first half cycle, e.g., at the end of the 1/120 secondperiod, the signal PWM-A on line 124 is held high (turning transistor Q1off) and an identical series of drive pulses is sent as signal PWM-B online 126 to transistor Q2, generating a series of positive flybackpulses from inductor L2. These flyback pulses are fed to pump 10 viadiode D3, capacitor C6, and transistor Q4. These positive pulses firstserve to discharge the negative charge in the pump in a controlledfashion and then build a positive charge in the pump.

Thus, the pulse generator 100 applies digital pulses to flyback circuit102. Flyback circuit 102 receives the digital pulses and produces chargepackets (e.g., 35). The charge packets output by converter circuit 102on line 104 appear essentially in a manner comparable to thoseillustrated in FIG. 4C, having a frequency F and an amplitude. Theamplitude of the charge packets is related to the pulse width W of thePWM pulses applied on lines 124 and 126 to converter circuit 102.

The repeating flyback or charge packets applied on line 104 build acharge in the pump's capacitance, i.e., in piezoelectric actuator 14,resulting in the signal on line 104 taking the form of a voltage curveapproximating a sine wave. In other words, the piezoelectric actuator isused to integrate the positive charge packets and the negative chargepackets to shape a waveform of the drive signal. The aforedescribedperiod is repeated over and over, with the result that pump 10 “sees” adrive signal on line 104 that approximates a 60 Hz sine wave in themanner shown in FIG. 4D. The feedback signal from output monitor 122applied to pin 19 of microcontroller 116 is the integrated voltage. The125 KHz pulse frequency is completely filtered out by the pump becauseof its vastly slower-than-125 KHz response time.

Thus, the flyback circuit 102 applies charge pulses, e.g., chargepackets, to piezoelectric actuator 14 which are integrated bypiezoelectric actuator 14 into an electric field. The piezoelectricactuator 14 converts the charge packets into a lower frequencyexcitation signal. In other words, by building electrical charge inpiezoelectric actuator 14 (e.g., by adding more or less charge), thepiezoelectric actuator 14 participates in building the waveform in thepiezoelectric actuator 14. By such integration the piezoelectricactuator 14 essentially serves as a charge storage device for powersupply 103. In essence, the piezoelectric actuator 14 acts much like afilter capacitance in a power supply.

The charge generating components transistor Q1, inductor L1, transistorQ2, & inductor L2 are always being driven digitally (either on or off)and are thus operating at maximum efficiency (switching power supplytheory). Yet pump 10 “sees” a sine wave drive waveform. This is achievedwith an absolute minimum number of parts by using the piezoelectricactuator 14 itself as the primary charge storage device in this pseudoswitching power supply design.

The fastest components of the flyback signal are “snubbed” out bycapacitor C5 and capacitor C6. The majority of the flyback highfrequencies are filtered by the pump itself. The PWM/flyback frequencyof 125 KHz is at least two orders of magnitude above the pump's abilityto mechanically respond.

Thus, the piezoelectric actuator drive circuit 18 uses the pumpcapacitance itself, e.g., the capacitance of piezoelectric actuator 14,as an integral part of a switching-type drive supply circuit.

In an aspect of an embodiment thus far described, piezoelectric actuatordrive circuit 18 can be a microcontroller-based pulsed width modulator(PWM) circuit which is used to drive a flyback circuit that veryuniquely has the ability to produce potentials that are bipolar withrespect to system ground. Neither a bridge switching circuit nor acharge storage circuit are employed. Instead, the flyback circuitswitches between producing positive pulses and negative pulses at a ratethat equals the desired drive frequency of the actuator. For circuitefficiency and EMI reduction, some of the higher frequency components ofthe pulses are capacitively filtered. The pulses are then passeddirectly to the piezoelectric actuator and are integrated by thecapacitive nature of the piezoelectric actuator to yield a drive fieldthat very nearly approximates a sine wave. The frequency of the flybackpulses is designed to be greater than the ability of the actuator tomechanically respond so that the flyback pulses do not contribute tomechanical inefficiency or noise in the actuator.

FIG. 3I shows a variation of the piezoelectric actuator drive circuit18. In particular, piezoelectric actuator drive circuit 18(3A) of FIG.3I drives several piezoelectric elements at one time at the same voltageand frequency. As basically illustrated in FIG. 3I, microcontroller 116supplies the signal PWM-A on line 124 and the signal PWM-B on line 126to plural flyback circuits 102 ₁ through 102 _(n). Each of the pluralflyback circuits 102 ₁ through 102 _(n) applies the drive signal onrespective lines 104 ₁ through 104 _(n) to corresponding piezoelectricactuators 14 ₁ through 14 _(n). The piezoelectric actuator drive circuit18 insures that the piezoelectric actuators of the plural pumps arephased properly for multiple diaphragm pump applications. Either phasingcan be achieved by reversing the PWM signals.

3.3 Second Example Drive Circuit: Structure

FIG. 5C shows another implementation of a drive circuit 18C which alsocan be utilized with all embodiments of FIG. 3 and FIG. 3A, FIG. 3B,FIG. 3C, FIG. 3D, FIG. 3E(1), FIG. 3E(2), FIG. 3F, FIG. 3G, FIG. 3H(1),FIG. 3H(2), FIG. 3I(1), FIG. 3I(2), FIG. 3I(3), and FIG. 3J. As shown inFIG. 5C, piezoelectric actuator drive circuit 18C comprises pulsegenerator 100; converter circuit 102C; and piezoelectric actuator 14.The converter circuit 102C uses the digital pulses produced by pulsegenerator 100 to produce high voltage, short period pulses (chargepackets). In similar manner as previously described, piezoelectricactuator 14, by its capacitive nature, integrates the charge packets toshape the waveform of the drive signal on line 104. In one illustratedexample mode, the piezoelectric 14 actuator integrates the chargepackets to yield a drive field that generally approximates a sine wave.

In the non-limiting example embodiment of FIG. 5C, the pulse generator100 comprises a microcontroller-based pulsed width modulator (PWM)circuit. As previously explained, it should be understood that pulsegenerator 100 may comprise one or more microcontrollers or processorsand/or other circuits. In addition, certain operations orfunctionalities herein ascribed to microcontroller can also beconsidered to be performed by one or more processors, including but notlimited to a microprocessor. Rather than a microcontroller or the like,pulse generator 100 can also be any ASIC or any other device or circuitwhich generates pulses suitable for use by converter circuit 102 andpiezoelectric actuator 14 for the general purposes herein described.

The drive circuit 18C can be utilized with all embodiments, includingthose which drive single piezoelectric actuators as well as thosedriving plural piezo electric actuators. Again with regard, for example,to the embodiments/modes of FIG. 3I(2) and FIG. 3I(3), the pulsegenerators 100(2) and 100(3) may include plural or even y number ofmicrocontrollers for controlling the respective y number ofpiezoelectric actuators 14(x)_(y). Alternatively, the pulse generators100(2) and 100(3) for the embodiments/modes of FIG. 3I(2) and FIG. 3I(3)may include a suitable microcontroller with multitasking capability anddiffering output pin arrangement for driving the y number ofpiezoelectric actuators 14(x)_(y).

The piezoelectric actuator drive circuit 18C is connected to a powersupply 103. A power supply monitor, understood with reference to theprevious embodiment, can also be included.

Advantageously, the piezoelectric actuator drive circuit 18C can receiveinputs including user input and external sensor input. The potentialinputs received by piezoelectric actuator drive circuit 18C include allthose previously described in conjunction with FIG. 3 and FIG. 3A, FIG.3B, FIG. 3C, FIG. 3D, FIG. 3E(1), FIG. 3E(2), FIG. 3F, FIG. 3G, FIG.3H(1), FIG. 3H(2), FIG. 3I(1), FIG. 3I(2), FIG. 3I(3), and FIG. 3J.Included but not limited to these inputs are input from user inputdevices 106 and 108, other signal sources, external sensors, and thelike. In addition, the piezoelectric actuator drive circuit 18C canoptionally have the output monitor 122 with a voltage feedback signalprovided on line 105 to pulse generator 100.

The pulse generator of the piezoelectric actuator drive circuit 18Cgenerates a single PWM pulse train, rather than the dual PWM pulsetrains of the piezoelectric actuator drive circuit 18A of FIG. 5A, forexample. While much of the discussion herein references PWM digitalpulses PWM-A and PWM-B of the FIG. 5A embodiment, it should beunderstood that any such reference equally applies to the single PWMpulse train output by the pulse generator of the piezoelectric actuatordrive circuit 18C of FIG. 5C.

The piezoelectric actuator drive circuit 18C generates a bipolar drivesignal on line 104 for application to a piezoelectric actuator 14 orother capacitive load. A typical but non-limiting application ofpiezoelectric actuator drive circuit 18C is to drive a piezoelectricpump from a 5 volt DC power source, generating an excitation voltage onthe piezoelectric actuator that is roughly a 60 Hz sine wave swingingfrom +300 volts to −100 volts.

The piezoelectric actuator drive circuit 18C uses a unipolar powersource. The converter circuit 102C comprises a modest-voltage, powerswitching element Q1 and a transformer T1 that has only one secondarywith no taps and yet it generates a high voltage bipolar output. Theconverter circuit 102C functions in conjunction with a single unipolarpulse source and a single unipolar polarity control signal are requiredfor operation. In the illustrated implementation, the pulse generator100 serves both as the unipolar pulse source and the source of theunipolar polarity control signal. In addition, the pulse generatorreceives the feedback signal from piezoelectric actuator 14 on line 105.

The converter circuit 102C further comprises transistors Q2 and Q3. Thegates of transistors Q2 and Q3 are connected via resistors R1 and R2,respectively, to the source of the polarity drive signal. The emitter oftransistor Q3 is connected to power source 103, the collector oftransistor Q3 is connected via diode D2 to the secondary of transformerT1. In FIG. 5C, current 14 depicts the current between the secondary oftransformer T1 and diode D2. The collector of transistor Q2 is connectedvia diode D1 to the secondary of transformer T1. In FIG. 5C, current 13depicts the current between the collector of transistor Q2 and diode D2.

In piezoelectric actuator drive circuit 18C, polarity switching isachieved by current (as opposed to voltage) control on the “slow side”of the transformer T1 secondary. This permits the use of very low-cost,slow, high-voltage transistors that are mass produced. Furthermore, onlya single, low potential, low frequency, unipolar steering signal isrequired for operation. Such simplicity is in contrast to more expensiveSCRs or MOSFETS or transistors with possibly multiple, more complex,higher voltage drive and biasing requirements.

Bipolar voltage generation is achieved in the piezoelectric actuatordrive circuit 18C by catching the “resonant bounce” electromotive force(emf) of transformer T1 on the half cycle that is generated by theparasitic capacitance of the transformer windings. Paradoxically,parasitic capacitance in transformers is generally considered to be adesign impediment that reduces the efficiency of transformers and theirassociated circuits. Yet the piezoelectric actuator drive circuit 18Cingeniously and uniquely uses the parasitic capacitance of thetransformer T1 to generate an opposing emf. Advantageously, this allowsthe transformer T1 to be fabricated at very low cost. Alternatively, a 2secondary transformer (or tapped secondary) transformer such as thatshown as T1′ in piezoelectric actuator drive circuit 18D of FIG. 5D canbe utilized. Elements of piezoelectric actuator drive circuit 18D ofFIG. 5D which are common to those of piezoelectric actuator drivecircuit 18C of FIG. 5C are comparably numbered. While usage of thetransformer T1 of FIG. 5C is preferable, the piezoelectric actuatordrive circuit 18D of FIG. 5D with its transformer T1′ is neverthelessquite useful, especially in view of the polarity switchingconsiderations which are common to both piezoelectric actuator drivecircuit 18C and piezoelectric actuator drive circuit 18D.

3.4 Second Example Drive Circuit: Operation

The piezoelectric actuator drive circuit 18C of FIG. 5C operates in twomodes, the mode being determined by the logic level of the polaritydrive signal applied to converter circuit 102C. The relation of thepolarity drive signal to the output polarity is determined by thewinding sense of the transformer primary to secondary. The physics ofsome example piezoelectric actuators require that the actuator be drivenwith a higher positive than negative potential (e.g. +300,−100). Theparasitic/resonant bounce technique afforded by the piezoelectricactuator drive circuit 18C naturally produces a higher potential whencatching the primary flyback emf than when catching the “bounce”.Therefore, for efficiency and convenience, the transformers utilizedherein are wound such that the drive circuit operates as describedbelow. Other configurations are certainly possible and within thepurview of the embodiments described herein.

FIG. 20A shows signal diagrams for a first mode of operating thepiezoelectric actuator drive circuit 18C of FIG. 5C. In the first mode,the polarity drive signal is low, resulting in a positive going piezodrive wave. FIG. 20B shows signal diagrams for a second mode ofoperating the piezoelectric actuator drive circuit 18C of FIG. 5C. Inthe second mode, the polarity drive signal is high, resulting in anegative going piezo drive wave. It will be understood that thepiezoelectric actuator drive circuit 18D of FIG. 5D can be similarlyoperated.

In the first mode of operation illustrated in FIG. 20A, pulse generator100 generates an input level (e.g. 5 volts) pulse train whose pulsewidth my be optionally modulated at “PWM Drive”. Such a pulse train isshown by the signal PWM in FIG. 20A. The polarity drive signal is low,so that transistor Q3 is “on” and thus current may flow in diode D2 asneeded. When the PWM drive pulse is high, transistor Q1 is “on” andcurrent flows in the primary of transformer T1, storing magnetic flux inthe transformer core.

At the end of each high pulse of the signal PWM, transistor Q1 turns“off” and the primary of transformer T1 reacts by generating a “flyback”positive charge pulse on the primary (V1) and secondary (V2) (v=di/dt).In the illustrated, example embodiment, the secondary is wound in a 15:1ratio to the primary so that the induced voltage at V2 is 15 timesgreater than V1. Because transistor Q3 is forward biased, current isable to flow out of I2 (on line 104) to the piezoelectric actuator 104,and a positive step (S+) in the potential on the piezoelectric actuatorresults. In an example implementation, the PWM drive pulses occur atabout 100 KHz. The individual pulse widths of these PWM pulses can bemodulated such that any positive direction amplitude/wave shape can beinduced on the piezoelectric actuator 14.

In the second mode of operation illustrated in FIG. 10B, pulse generator100 generates an input level (e.g. 5 volts) pulse train whose pulsewidth my be optionally modulated at “PWM Drive”. This is in like manneras the first mode, but the PWM pulse widths may be different. In thesecond mode, the polarity drive signal is high, so transistor Q2 is “on”and thus current may flow in diode D1 as needed. When the PWM Drivepulse is high, transistor Q1 is “on” and current flows in the primary oftransformer T1, storing magnetic flux in the transformer core.

At the end of each high pulse, transistor Q1 turns “off” and the primaryof transformer T1 reacts by generating a “flyback” positive charge pulseon the primary (V1) and secondary (V2) (v=di/dt), as in the first mode.However, in the second mode transistor Q3 is “off”, and thus currentcannot flow in diode D2, nor will it flow in diode D1 due to itsdirection. This causes the flyback potential to be “trapped” in thetransformer T1 and partially dissipated in transformer resistive losses,with the rest being stored in the parasitic capacitance of transformerT1. The parasitic capacitance and the transformer inductance form an LCresonant circuit which shortly thereafter responds by producing a“bounce” charge at V2 which is opposite in polarity. Because of its newpolarity, current can now flow out of the piezoelectric actuator 14 andthrough diode D1 and transistor Q2, inducing a negative direction stepin the potential on the piezoelectric actuator 14. The individual pulsewidths of the PWM drive pulses can be modulated such that any negativedirection amplitude/wave shape can be induced on the piezoelectricactuator 14.

Thus, by appropriately modulating the duty cycle and/or frequency of PWMdrive and polarity drive signal, using the piezoelectric actuator drivecircuit 18C (or piezoelectric actuator drive circuit 18D) virtually anydesired bipolar waveform can be induced on a piezoelectric or othercapacitive load.

4.0 Example: Drive Circuit Receiving Analog Input

In an embodiment such as that illustrated in FIG. 3B, for example, thepiezoelectric actuator drive circuit 18 receives user input through userinput device 106 and user input device 108. In a particularlyillustrated implementation, the user input device 106 is a trimpot whichcan be used to set a period/frequency of the drive signal applied online 104, and user input device 108 is a trimpot which can be used toset a voltage/amplitude of the drive signal applied on line 104. Analogsignals from user input device 106 and user input device 108 are appliedto pins 14 and 13, respectively, of microcontroller 116, and ultimatelyaffect the voltage and frequency of the drive signal applied on line104. The drive signal applied on line 104 to piezoelectric actuator 14is based on the digital PWM-A and PWM-B signals output frommicrocontroller 116, so that the drive signal applied on line 104 isitself digital. Thus, the signals produced by user input device 106 anduser input device 108 and applied to microcontroller 116 are twoexamples of analog input signals in accordance with which themicrocontroller 116 generates a digital drive signal. The analog inputsignals are applied to an internal (multichannel) analog to digitalconverter (ADC) of the microcontroller 116. It will be appreciated thatcomparable user input devices can be utilized to supply parameters orcriteria other than frequency/period and amplitude/voltage topiezoelectric actuator drive circuit 18.

5.0 Drive Signal: Fixed PWM Mode

As mentioned above, in one illustrated embodiment the drive signalapplied on line 104 to piezoelectric actuator 14 is based on the digitalPWM-A and PWM-B signals output from microcontroller 116. In a PWM servomode of operation described hereinafter, the pulse widths of the pulsewidth modulation signals PWM-A and PWM-B applied to converter circuit102 can be changed, even dynamically changed in real time operation ofpump 10, in order to change the waveform of the drive signal applied topiezoelectric actuator 14. But in another embodiment known as the fixedPWM mode, the logic (e.g., software) executed by pulse generator 100 isconfigured so that the pulse widths of the signals PWM-A signal PWM-Bare uniform.

The fixed PWM mode may be selectively entered and exited duringoperation of piezoelectric actuator drive circuit 18, as in the case ofdetermining the resonance of piezoelectric actuator 14. On the otherhand, in certain “fixed” applications in which the pulse width of thesignals PWM-A and PWM-B are expected never to change, the operatingparameters for the piezoelectric actuator 14 (e.g., pulse width,frequency of the drive signal) may be stored in non-volatile storage.For example, the operating parameters necessary for the fixed PWM modemay be “burned in” to microcontroller 116 at manufacturing time, atapplication time, or for that matter, at any time. Thus, microcontroller116 can be configured to work in essentially any application.

6.0 Drive Signal: Optimized Waveform Mode

The piezoelectric actuator drive circuit can also operate in anoptimized waveform mode. In the optimized waveform mode, thepiezoelectric actuator drive circuit 18 uses pre-stored values tomaintain an essentially constant waveform shape. The example sinusoidalwaveform shown in FIG. 12 serves to illustrate a 360 degree periodwaveform having points X₁, X₂, . . . , etc., with each pointcorresponding to a degree or a fraction of a degree of one period. Ateach point X the waveform has a corresponding (voltage) amplitude V. Forexample, at point X₁ the waveform of FIG. 12 has an amplitude V₁.

In the optimized waveform mode, certain values utilized to generate thedrive signal having the optimized waveform are prepared and pre-storedin a table (such as lookup table 140 of FIG. 5B) for use by pulsegenerator 100 in generating the drive signal for the piezoelectricactuator 14. In one implementation representatively illustrated by table140-18A of FIG. 18A, the pre-stored values which yield the optimizedwaveform are the amplitude values themselves (e.g., values V₁, V₂, etc.,associated with corresponding points X₁, X₂, etc.).

In another implementation representatively illustrated by table 140-18Bof FIG. 18B, the pre-stored values which yield the optimized waveformare or include the pulse width modulation values for each of the pointsX₁, X₂, etc., which yield the desired respective amplitudes and hencethe desired overall waveform. In other words, in the secondimplementation of the optimized waveform mode, the lookup table 140-18Bis utilized to determine the pulse width to be utilized for the signalsPWM-A and PWM-B on line 124 and 126 at selected intervals or pointsalong the waveform through its period P. This implementation version ofthe optimized waveform mode thus resembles the fixed PWM mode in thatthe pulse widths of the signals PWM-A and PWM-B on line 124 and 126,respectively, are pre-stored at least for initial use. These pre-storedPWM values either may or may not be dynamically adjusted subsequently onthe basis of an input signal (e.g., not on the basis of a sensor inputsignal or a user input signal).

As an example of the foregoing, at a point X₁=P/20 a first value fromPWM lookup table 140 is utilized for the pulse width of the PWM-Asignal, at a point X₂=2*P/20 a second value from PWM lookup table 140 isutilized for the pulse width of the PWM-A signal, and so forth. At thehalf way point, e.g., point 10*P/20 in this example, the signal PWM-B isutilized rather than the PWM-A signal, in which case an appropriatevalue for PWM-B is garnered from PWM lookup table 140, followed at point11*P/20 with another corresponding value for PWM lookup table 140, andso forth.

The lookup table 140 thus comprises a pairing of waveform points andappropriate pulse width values (any particular pulse width value beingeither for the PWM-A signal or the PWM-B signal, as discussed above). Asdiscussed further herein, the pulse width values stored in PWM lookuptable 140 can be predetermined or “optimized” in accordance with theparticular pump with which the piezoelectric actuator is being utilized,in accordance with a particular environment in which the pump isutilized, in accordance with one or more criteria (e.g., sensor inputvalues), and/or one or more of the foregoing.

The lookup table 140 is preferably stored in non-volatile memory.Typically the lookup table 140 is stored in microcontroller 116.Alternatively, for some applications lookup table 140 may also beexternal to microcontroller 116. The illustration of lookup table 140 inFIG. 5B is intended to encompass any manner of providing lookup table140 for piezoelectric actuator drive circuit. While the optimizationdescribed herein is in context of one particular example of a pump as autilization device, optimization of waveforms for otherpiezoelectric-utilizing devices is also encompassed and implementationevident herein.

7.0 Drive Signal Control Program: Overview

Basic example steps of one example mode of logic implemented bymicrocontroller 116 in handling the input signals such as the analoginput signals received from user input device 106 and user input device108, as well as the fixed PWM mode and the PWM servo modes of operation,are understood in conjunction with FIG. 6A-FIG. 6G. The logicimplemented by microcontroller 116 can be in the form of programmableinstructions (e.g., a drive signal control program 150) which areexecuted by microcontroller 116. Alternatively, comparable instructionscan be performed with microcontroller 116 taking the form of a generalpurpose computer, using an application specific integrated circuit(ASIC), and/or using one or more digital signal processors (DSPs). Itshould be understood that the steps of the drive signal control program150 described herein, as well as steps of any constituent routine orother routine, are merely for sake of example and can be implemented oraccomplished using various other logic and/or programming techniques.

As mentioned before, in the illustrated example the user input device106 is a trimpot which can be used to set a period/frequency of thedrive signal applied on line 104, and user input device 108 is a trimpotwhich can be used to set a voltage/amplitude of the drive signal appliedon line 104. By “period” or “frequency” is meant a period such as thatillustrated as P in FIG. 4A, e.g., the period consisting of anactivation of the signal PWM-A followed by an activation of the signalPWM-B. In the logic of FIG. 6G, the value input by user input device 106is referred to as CheckRateInput, since the user input period alsocorresponds to the rate at which the pump is to operate. By “amplitude”or “voltage” is meant the amplitude or voltage A as shown in FIG. 4Dwhich relates to (e.g., is derived from) the pulse width W of thesignals PWM-A and PWM-B applied on lines 124 and 126, respectively, andwhich is also related to the duration that the flyback circuit 102actually charges the inductor L1 (see FIG. 5A). In the logic of FIG. 6G,the value input by user input device 108 to set the amplitude or voltageis referred to as SetVoltsInput.

7.1 Drove Signal Control Program: Main Routine

FIG. 6A shows selected basic steps involved in a main routine of drivesignal control program 150. The main routine of FIG. 6A, entered at step6A-1, basically concerns initialization and user interface monitoring.Step 6A-2 of the main routine generally depicts the main routine callingcertain other initialization routines to initialize such things asports, memory, timers (including an interrupt timer), channel selectionof the on-board analog to digital converter (ADC), and certain PWMvalues. As step 6A-3 the main routine enables certain interruptsincluding an interrupt for an interrupt service routine hereinafterdescribed with reference to FIG. 6B. In step 6A-4, the main routine setsdefault values for a period counter (“Counter”) and half-period counter(“CounterHalf”). At step 6A-5 the main routine resets a watchdog timerso that the processor does not go into a reset stage.

At step 6A-6, the main routine checks to determine if an external userdigital input has been received which affects operation of pump 10.Checking whether an external user digital input has been received caninvolve checking whether a start bit has been set on serial interfacebuss (Universal Serial Interface (USI) buss) 128. If external userdigital input has been received, at step 6A-7 a routine is called tohandle receipt of the external user digital input (a USI handler). Ifthe determination at step 6A-6 is negative, and after execution of step6A-7, execution returns to step 6A-6.

7.2 Drive Signal Control Program: Interrupt Service Routine

FIG. 6B shows basic steps involved in the interrupt service routinewhich has also been nicknamed as Timer0 ISR. The interrupt serviceroutine of FIG. 6B is executed 3906 times per second, and is entered atstep 6B-1. The interrupt service routine of FIG. 6B is called every timean overflow occurs for the timer (Timer 0). In other words, in theillustrated embodiment, this overflow and thus invocation of interruptservice routine of FIG. 6B occurs at a rate of 3906 Hz.

Since operation of pump 10 can be terminated or shut off by software, acheck occurs at step 6B-2 whether there has been a software terminationof pump 10. In case of software termination, the interrupt serviceroutine of FIG. 6B is also terminated as indicated at step 6B-3.

The interrupt service routine of FIG. 6B utilizes variables Counter andCounterHalf. Default values for variables Counter and CounterHalf areset at step 6A-4 of the main routine. Thereafter values for the variableCounter are reset (in accordance with user input, e.g. at user inputdevice 108) by a CheckRateInput routine illustrated in FIG. 6G.Execution of the CheckRateInput routine illustrated of FIG. 6G obtainsor computes a value CounterReset, which is used to reset the variableCounter. The value CounterReset is computed by dividing 3906 (the valuetimer T0) by the user-input value PumpRate which is acquired from userinput device 106. Thus, Counter is reset as CounterReset=3906/PumpRate.After the variable Counter has been reset, the variable CounterHalf isreset as Counter/2.

The value of variable Counter affects the period or frequency of thedrive signal (see FIG. 4A-FIG. 4D). In the present illustration thevalue of variable Counter depends on the value set by the user at userinput device 106. As explained below, the counter Counter keeps track offrequency and actually tracks the waveform through construction of thecharge packets of FIG. 4C.

When it is determined at step 6B-2 that operation of the pump is not tobe terminated, the counter Counter is decremented at step 6B-4. Step6B-5 involves checking whether the (just decremented) value of counterCounter corresponds to a point just shy of half of the waveform (e.g.,whether Counter has reached the value CounterHalf+1).

If an affirmative determination occurs at step 6B-5, as step 6B-6 theinterrupt service routine of FIG. 6B turns off both the signal PWM-A andthe signal PWM-B on lines 124 and 126. It will be recalled that thesignal PWM-A drives the piezoelectric actuator 14 in the positivedirection, the signal PWM-B drives the piezoelectric actuator 14 in thenegative direction. So as the midpoint of waveform of FIG. 4D isapproached, both signal PWM-A and signal PWM-B are turned off.

The signal PWM-A and signal PWM-B are turned off just shy of midpoint ofthe waveform in order to prepare for ensuing step 6B-7. Step 6B-7involves checking voltage obtained from the multichannel analog todigital converter ADC) of microcontroller 116. The PWM signals PWM-A andPWM-B are turned off in case they generate noise that might interferewith the voltage determinations from the ADC.

So as soon as the signal PWM-A and signal PWM-B are turned off at step6B-6, a measurement of voltage is taken as quickly as possible at step6B-7. The ADC reading of step 6B-7 is a reading of voltage applied topump 10. This reading is taken to ensure that the pump is being drivenat the desired set value of the amplitude. In other words, the readingat step 6B-7 is a reading of amplitude A of the drive signal of FIG. 4Das applied to pump 10. As previously explained, the voltage at output tothe pump is obtained from voltage monitor 122, e.g. at midpoint ofvoltage divider which comprises R6 and R7 (see, e.g., FIG. 5A). Theactual voltage applied to pump 10 (which could be as high as or in thevicinity of 400 volts or so) may not be readable on the ADC ofmicrocontroller 116, for which reason the voltage divider of outputmonitor 122 brings the voltage down to a lower voltage (e.g., below 2.68volts) for sake of microcontroller 106.

Thus, when an affirmative determination is made at step 6B-5 that apoint just shy of mid-waveform has been reached, the signals PWM-A andPWM-B are turned off, and a sample taken of voltage to the pump 10before exiting the interrupt service routine of FIG. 6B at step 6B-14.The sample of voltage is thus taken at the highest point on the waveform(closest to the peak as possible).

A negative determination at step 6B-5 means that the waveform is not atthe sampling point (not just shy of the mid waveform point). When anegative determination is made at step 6B-5, a check is performed atstep 6B-8 whether the value of decremented Counter is exactly equal toCounterHalf (meaning that the waveform has reached its exact midpoint).If the check at step 6B-8 is affirmative, as step 6B-9 the interruptservice routine of FIG. 6B prompts microcontroller 116 to turn on signalPWM-B (the negative PWM signal applied on line 126 to converter circuit102) so that the negative series of charge packets of FIG. 4C can beformed. Thereafter the interrupt service routine of FIG. 6B is exited(step 6B-14).

If the check at step 6B-8 is negative (which means that waveformformation is past its midpoint), a check is made at step 6B-10 whetherthe value of Counter has reached 1. The Counter reaching 1 means thatthe negative pulse formation is essentially completed. Therefore, if thedetermination at step 6B-10 is negative, at step 6B-11 the interruptservice routine of FIG. 6B instructs microcontroller 116 to turn offboth signal PWM-A on line 124 and signal PWM-B on line 126, at whichpoint the interrupt service routine of FIG. 6B is exited (step 6B-14).

If the check at step 6B-10 is negative, a further check is made at step6B-12 whether the decremented value of the Counter has reached zero. Ifso, it is time to start formation of a new waveform, and accordingly atstep 6B-13 the interrupt service routine of FIG. 6B promptsmicrocontroller 116 to turn on the signal PWM-A for application on line124 to start the positive portion of the new pulse (the new waveformwill be formed during successive iterations of interrupt service routineof FIG. 6B). Then the interrupt service routine of FIG. 6B is exited atstep 6B-14.

As an optional step, after turning off both signal PWM-A and signalPWM-B at step 6B-11, the voltage at the ADC of user input device 106could again be checked in the manner of step 6B-7.

Thus, repeated performance of the interrupt service routine of FIG. 6Bresults in formation of the series of charge packets such as those ofFIG. 4C which are applied on line drive signal applied on line 104 topiezoelectric actuator 14. The interrupt service routine of FIG. 6Bcontrols the rate of the pump. The value of Counter is set by dividingthe timer (Timer 0) frequency (e.g., 3906) by user-input valueindicative of the desired rate (PumpRate). The value of Counter isdecremented during each execution of interrupt service routine, and ateach execution of interrupt service routine at least one of thecomparisons of step 6B-5, step 6B-8, step 6B-10, and step 6B-12 areperformed.

As a result of execution of interrupt service routine of FIG. 6B, onewould expect that the signal applied on line 104 would appear as aseries of positive charge packets, followed by a series of negativecharge packets, the series being so arranged that the signal would havean overall square wave shape comparable to that of the envelope of thecharge packets of FIG. 4C. In such case the charge packets shown in FIG.4C would have an amplitude which is dependent on the user input valueInputVolt and a period which depends on the user input value RateInput.But, as mentioned before, piezoelectric actuator 14 serves, e.g., tointegrate the signal applied on line 104, so that, in at least oneexample implementation, the actual waveform on line 104 appears morelike the sine waveform shown in FIG. 4D. While the waveform of theintegrated signal in FIG. 4D has the same period as the signal of FIG.4C, the integrated signal of FIG. 4D has more of a sinusoidal shape thana square shape. In particular, each cycle of pulses of the waveform ofthe integrated signal in FIG. 4D has a first positive sloping segment4D-1, a second positive sloping segment 4D-2; a peak 4D-3, a firstnegative sloping section 4D-4, and a second negative sloping section4D-5.

The integrated waveform shape is under the control of the drive circuit,particularly in view of the pulse width modulation (e.g., of the PWM-Aand PWM-B signals on lines 124 and 126, respectively, in the circuit ofFIG. 5A). While essentially sine-shaped waveforms are described herein,it is entirely possible that the drive circuit could sample the waveformafter various (e.g., each and every) PWM pulse and adjust the PWM periodto achieve other wave shapes, including complex waveform shapes.

7.3 Drive Signal Control Program: Checking ADC

Aforedescribed step 6B-7 involved checking the analog digital converter(ADC) of microcontroller 116. Step 6B-7 essentially involves executionof a routine named CheckAtoDs. Selected basic example steps of routineCheckAtoDs are illustrated in FIG. 6C.

The routine CheckAtoDs is entered at step 6C-1. It will be recalled thatthe ADC of microcontroller 116 is a multichannel ADC, and as such canreceive analog signals on several channels from a corresponding numberof sources. For example, the multichannel ADC of microcontroller 116receives a voltage feedback signal from output monitor 122 regarding thevoltage on line 104 applied to piezoelectric actuator 14 of pump 10, andtwo distinct other voltage signals which are input from user inputdevice 106 and user input device 108.

The routine CheckAtoDs is configured to check, in a predeterminedsequence: a channel of its ADC which receives voltage from outputmonitor 122; a channel of its ADC which receives voltage from user inputdevice 106 indicative of

RateInput; a channel of its ADC which receives voltage from user inputdevice 108 indicative of VoltInput; and, a channel of its ADC whichreceives a supply voltage from power supply 103. The sequencing ofoperation of routine CheckAtoDs is based on a counter AtoDCtr, whichcounts from 1 to 6 as it is incremented at step 6C-20.

At step 6C-2 of routine CheckAtoDs a check is performed whether thecounter AtoDCtr currently has the value of one. If the check at step6C-2 is affirmative, at step 6C-3 the routine CheckAtoDs processes thevalue previously read from a previously selected channel of the ADC ofmicrocontroller 116. In particular, at step 6C-3 the routine CheckAtoDscalls routine CheckVolts. The routine CheckVolts actually processes thevoltage feedback signal, now converted to digital by ADC ofmicrocontroller 116, obtained from output monitor 122. The digitalvoltage value processed at step 6C-3 should correspond to the amplitudeA of the drive signal at its peak (see FIG. 4D). If not, as hereinafterdescribed the routine CheckVolts adjusts the pulse width of the signalsPWM-A and PWM-B in order to achieve the desired amplitude for the drivesignal applied on line 104. After calling routine CheckVolts to processthe digitally converted feedback voltage signal, the routine CheckAtoDsprepares for its next execution by (at step 6C-4) selecting the channelof the ADC which handles user input device 108 so that at step 6C-4 theselected channel acquires the analog information applied thereto.Thereafter, routine CheckAtoDs increments the counter AtoDCtr (at step6C-20) and is exited (step 6C-21).

If, upon entry into routine CheckAtoDs, the value of counter AtoDCtr istwo (as determined at step 6C-5), the routine CheckAtoDs calls routineCheckVoltsInput in order for the channel of the ADC which handles theuser input device 108 to process the analog value obtained from userinput device 108 and read at the prior execution of step 6C-4. It willbe recalled that the user-set value set at user input device 108corresponds to VoltInput, and determines the pulse widths of digitalpulses applied as signals PWM-A and PWM-B on lines 124 and 126,respective, and thus determines the amplitude of the drive signal online 104. After enabling the appropriate channel of the ADC to read theanalog value, at step 6C-7 the routine CheckAtoDs again selects thechannel of the ADC which handles the reading of voltage from outputmonitor 122 (and thus the drive signal applied on line 104). The channelselection of step 6C-7 results in the selected channel reading theanalog value applied thereto in preparation for the next execution ofroutine CheckAtoDs. Thereafter, the counter AtoDCtr is incremented (step6C-20) and the routine CheckAtoDs is exited (step 6C-21).

If, upon entry into routine CheckAtoDs, the value of counter AtoDCtr isthree (as determined at step 6C-8), at step 6C-9 the routine CheckAtoDsagain calls routine CheckVolts in order to process the digitallyconverted feedback voltage acquired from output monitor 122 (whichrepresents the actual amplitude of the voltage applied as the drivesignal to piezoelectric actuator 14). If necessary, in its processingthe routine CheckVolts adjusts the pulse width of the signals PWM-A andPWM-B in order to achieve the desired amplitude for the drive signal topiezoelectric actuator 14. Then the routine CheckAtoDs prepares for itsnext execution by (at step 6C-10) selecting the channel of the ADC whichhandles user input device 106 so that at step 6C-10 the selected channelacquires the analog information applied thereto. Thereafter, routineCheckAtoDs increments the counter AtoDCtr (at step 6C-20) and is exited(step 6C-21).

If, upon entry into routine CheckAtoDs, the value of counter AtoDCtr isfour (as determined at step 6C-11), the routine CheckAtoDs calls routineCheckRateInput in order for the channel of the ADC which handles theuser input device 106 to process the analog value obtained from userinput device 106 and read at the prior execution of step 6C-10. It willbe recalled that the user-set value set at user input device 108corresponds to RateInput or PumpRate, and determines the frequency orperiod of the drive signal applied to piezoelectric actuator 14 on line104. After enabling the appropriate channel of the ADC to read theanalog value, at step 6C-13 the routine CheckAtoDs again selects thechannel of the ADC which handles the reading of voltage from outputmonitor 122 (and thus the drive signal applied on line 104). The channelselection of step 6C-13 results in the selected channel reading theanalog value applied thereto in preparation for the next execution ofroutine CheckAtoDs. Thereafter, the counter AtoDCtr is incremented (step6C-20) and the routine CheckAtoDs is exited (step 6C-21).

If, upon entry into routine CheckAtoDs, the value of counter AtoDCtr isfive (as determined at step 6C-14), at step 6C-15 the routine CheckAtoDsagain calls routine CheckVolts in order to process the digitallyconverted feedback voltage acquired from output monitor 122 (whichrepresents the actual amplitude of the voltage applied as the drivesignal to piezoelectric actuator 14). If necessary, in its processingthe routine CheckVolts adjusts the pulse width of the signals PWM-A andPWM-B in order to achieve the desired amplitude for the drive signal topiezoelectric actuator 14. Then the routine CheckAtoDs prepares for itsnext execution by (at step 6C-16) selecting the channel of the ADC whichhandles the supply voltage from power supply 103 so that at step 6C-16the selected channel acquires the analog information applied thereto.Thereafter, routine CheckAtoDs increments the counter AtoDCtr (at step6C-20) and is exited (step 6C-21).

If, upon entry into routine CheckAtoDs, the value of counter AtoDCtr issix (as determined at step 6C-17), at step 6C-18 the routine CheckAtoDssets a variable SupplyVoltsRaw to the digitally converted value read atstep 6C-16, and resets the value of counter AtoDCtr back to zero. Then,at step 6C-19, the routine CheckAtoDs again selects the channel of theADC which handles the reading of voltage from output monitor 122 (andthus the drive signal applied on line 104). The channel selection ofstep 6C-19 results in the selected channel reading the analog valueapplied thereto in preparation for the next execution of routineCheckAtoDs. Thereafter, the counter AtoDCtr is incremented (step 6C-20)and the routine CheckAtoDs is exited (step 6C-21).

Thus, as seen from the foregoing and FIG. 6C, the routine CheckAtoDscalls the routine CheckVolts in order to assure that the drive signal topiezoelectric actuator 14 on line 104 has the proper or desiredamplitude. In addition, the routine CheckAtoDs (at step 6C-6) calls theroutine CheckVoltsInput to determine whether the user input voltageobtained from user input device 108 indicates that the desired amplitudeof the drive signal has been changed by the user, and if so makes anadjustment in the desired amplitude. Similarly, the routine CheckAtoDs(at step 6C-12) calls the routine CheckRateInput to determine whetherthe user input voltage obtained from user input device 106 indicatesthat the desired frequency of the drive signal has been changed by theuser, and if so makes an adjustment in the desired frequency.

7.4 Drive Signal Control Program: Check Volts Input Routine

Basic steps in the routine CheckVoltsInput, called at step 6C-3, step6C-9, and step 6C-15 of the routine CheckAtoDs, are illustrated in FIG.6D. The routine CheckVoltsInput is entered at step 6D-1. Then, at step6D-2, the (now digitally converted) voltage just read (at step 6C-19,step 6C-7, and step 6C-13, respectively) by the channel handling theoutput monitor 122 is set as the value of a variable actual_volts. Apump short circuit detection is performed at step 6D-3. If a shortcircuit condition is found to exist for pump 10, a reset of the watchdogtimer is awaited (step 6D-6) after a short circuit timeout counter hasexpired (step 6D-5). If no short circuit is detected, the short circuittimer is reset at step 6D-7.

At step 6D-8 a check is made whether the value of the variableactual_volts exceeds a variable SetVolts. The value of the variableSetVolts reflects the actual desired amplitude for the drive signal forpiezoelectric actuator 14 on line 104. The value of the variableSetVolts can be set by user input, e.g., either analog input such as theVoltInput provided by user input device 108, or from a GUI in the mannerpreviously illustrated by the embodiment of FIG. 3C. In any event, if itis determined at step 6D-8 that the value of the variable actual_voltsdoes exceed the value of the variable SetVolts, then a variable PWMcounter is decremented at step 6D-9. On the other hand, if it isdetermined at step 6D-10 that the value of the variable actual_volts isless than or equal to the value of the variable SetVolts, then at step6D-11 the variable PWM counter is incremented. After eitherdecrementation (step 6D-9) or incrementation (step 6D-11) of thevariable PWM counter, the value of the variable PWM counter is sent asvalue PWM to a routine PWM Set.

7.5 Drive Signal Control program: PWM Setting Routine

The routine PWM Set serves to adjust (either increase or decrease, asappropriate) the pulse width W of the digital pulses included in bothsignal PWM-A applied on line 124 and signal PWM-B applied on line 126 toconverter circuit 102. It will be recalled that the pulse width Wcorresponds to the amount of time charge time that the inductor L1 ofconverter circuit 102 is being charged. Example basic steps of routinePWM Set are illustrated in FIG. 6E. The routine PWM Set is entered atstep 6E-1. At step 6E-2 the routine PWM Set checks whether the variablePWM (obtained from the routine CheckVolts of FIG. 6D) has exceeded itspermissible maximum (PWM maximum). If so, at step 6E-3 the variable PWMis set to PWM maximum, and the routine PWM Set thereafter exited at step6E-6. If the variable PWM has not exceeded its permissible maximum, thenat step 6E-4 the routine PWM Set sets the pulse width of both the signalPWM-A (PWM positive) and the signal PWM-B (PWM negative) to the value ofPWM, so that the signals PWM-A and PWM-B will have the desired pulsewidth W (see FIG. 4A).

FIG. 7A-FIG. 7D illustrate how changing the pulse width of the signalsPWM-A and PWM-B on lines 124 and 126 affect the drive signal ofpiezoelectric actuator 14 on line 104. The period P₁ shown in FIG.7A-FIG. 7D resembles the period P shown in FIG. 4A-FIG. 4D, with thedigital pulses of signals PWM-A and PWM-B having the pulse width W. Inthe period P₁, the drive signal applied to piezoelectric actuator 14 hasthe amplitude A, which depends on the pulse width W. But if the userinput value VoltInput is changed (e.g., by a change of settingimplemented via user input device 108), then the routine CheckVoltsInputobtains a new control voltage to be used for the VoltInput and theroutine CheckVolts increments or decrements the PWM value accordingly.For example, if the user input value of VoltInput is increased, then thePWM value is incremented (step 6D-11). FIG. 7A-FIG. 7D show suchincrementation of the pulse width affecting the period P₂, so that inperiod P₂ the width of the digital pulses of signals PWM-A and PWM-B(shown in FIG. 7A and FIG. 7B, respectively) is increased from W to W′.As a result of the increased pulse width of the pulses of signals PWM-Aand PWM-B, the amplitude of the pulse output applied on line drivesignal applied on line 104, and the amplitude of the sine wave whichresults from the integration by piezoelectric actuator 14, is increasedfrom A to A′ during period P₂. In FIG. 7A-FIG. 7D, the period P₁ and P₂,although having different subscripts, are of the same duration. Thediffering subscripts for period P in FIG. 7A-FIG. 7D are merely forhighlighting the change of pulse width from W to W′ and resulting changeof amplitude from A to A′. This change of pulse width, and thus thechange of amplitude of the drive signal applied to piezoelectricactuator 14, is one example of dynamically changing the drive signal(e.g., the shape of the drive signal) during real time operation of thepump.

As mentioned above, the routine CheckAtoDs (at step 6C-6) calls theroutine CheckVoltsInput to determine whether the user input voltageobtained from user input device 108 indicates that the desired amplitudeof the drive signal has been changed by the user. If necessary, theroutine CheckVoltsInput makes an adjustment in the desired amplitude.Basic steps of an example implementation of routine CheckVoltsInput areillustrated in FIG. 6F. The routine CheckVoltsInput is entered at step6F-1. At step 6F-2, the (now digitally converted) voltage just read (atstep 6C-4 of routine CheckAtoDs) by the channel handling the user inputdevice 108 is set as the value of a variable volts_ctl. As a precaution,a check is made at step 6F-3 that both (1) the trim pots 106 and 108have been enabled, and (2) that the value of the variable volts_ctl justacquired exceeds a threshold. Should either condition of step 6F-3 notbe satisfied, the routine CheckVoltsInput is exited at step 6F-7.

At step 6F-4 a check is made whether the value of the variable volts_ctlis less than a variable MAX_VOLTS. The value of the variable MAX_VOLTSreflects a maximum permissible amplitude for the drive signal forpiezoelectric actuator 14. If value of the variable volts_ctl is lessthan the variable MAX_VOLTS, at step 6F-5 a value of variable SetVoltsis set equal to the variable volts_ctl. Otherwise, at step 6F-6 thevariable volts_ctl is set to the value MAX_VOLTS. After the value ofvariable volts_ctl has been established (either at step 6F-5 or step6F-6), the routine CheckVoltsInput is exited at step 6F-7.

7.6 Drive Signal Control Program: Check Rate Input Routine

As mentioned above, the routine CheckAtoDs (at step 6C-12) calls theroutine CheckRateInput to determine whether the user input voltageobtained from user input device 106 indicates that the desired frequencyof the drive signal has been changed by the user. If necessary, theroutine CheckRateInput makes an adjustment in the desired frequency.Basic steps of an example implementation of routine CheckRateInput areillustrated in FIG. 6G. The routine CheckRateInput is entered at step6G-1. As a precaution, a check is made at step 6G-2 that the trim pots106 and 108 have been enabled. If the check of step 6G-2 is affirmative,at step 6G-3 a value of variable PumpRate is set to the (now digitallyconverted) voltage just read (at step 6C-10 of routine CheckAtoDs) bythe channel handling the user input device 106. Should the check of step6G-2 prove negative, a check is made at step 6G-4 if the value of thevariable PumpRate is less than a value MIN_RATE. If the check at step6G-4 is affirmative, at step 6G-5 the value of the variable PumpRate isset equal to the value MIN_RATE. On the other hand, at step 6G-6 a checkis made whether the value of the variable PumpRate is greater than avalue MAX_RATE. If the check at step 6G-6 is affirmative, at step 6G-7the value of the variable PumpRate is set equal to the value MAX_RATE.Before it exits at step 6G-9, at step 6G-8 the routine CheckRateInputuses the value of the variable PumpRate to determine the variableCounterReset. In particular, at step 6G-8 the routine CheckRateInputdivides 3906 (the frequency at which the interrupt service routine ofFIG. 6B is called) by the value of the variable PumpRate to determinethe variable CounterReset. As explained previously, the value of thevariable CounterReset is used to establish the value of the variableCounter. The variable Counter affects the desired setting of the periodor frequency for the drive signal to piezoelectric actuator 14 on line104, as previously explained with reference to the interrupt serviceroutine of FIG. 6B.

FIG. 8A-FIG. 8D illustrate a change of period or frequency of the drivesignal applied on line 104. In FIG. 8A-FIG. 8D, P_(A) refers to a firstperiod which is of comparable duration to period P in FIG. 4A-FIG. 4D.But the period P_(B) of FIG. 8A-FIG. 8D shows how the period can bechanged in accordance with a new user input value for the variablePumpRate (which may be input via user input device 106, for example).Specifically, FIG. 8A-FIG. 8D show the period P_(B) as being shorterthan the period P_(A) in view of a new (smaller) value for the variablePumpRate. As explained above, the period for the drive signal applied online 104 is implemented using routine CheckRateInput which has beendescribed above with reference to FIG. 6G. This change of the period orfrequency of the drive signal applied to piezoelectric actuator 14 isanother example of dynamically changing the drive signal (e.g., theshape of the drive signal) during real time operation of the pump.

The pulse period of the PWM-A and PWM-B waveforms can be adjusted on apulse by pulse basis in “real-time”, producing an endless array of drivewaveform possibilities. For such complex waveforms, it may be necessaryto employ a digital signal processor type of microcontroller.

8.0 Determining Parameter(s) of Piezoelectric Actuator

One use of one or more embodiments and modes of operation of thepiezoelectric actuator drive circuit 18 described above involvesdetermining one or more parameters or characteristics of piezoelectricactuator 14 or of a system in which the piezoelectric actuator 14operates.

8.1 Determining Capacitance of Piezoelectric Actuator

For accurate operation of pump 10 it is important to have an accuratedetermination of the capacitance of the piezoelectric actuator 14. As ageneral rule, a higher capacitance piezoelectric element has more energyand displaces further than a lower capacitance piezoelectric element.While the particular piezoelectric material employed in piezoelectricactuator 14 may have a specified or nominal capacitance, experienceshows that the capacitance of piezoelectric elements produced in a samemanufacturing lot may vary as much as five percent from piece to piece,and that the capacitance of the same type of piezoelectric elementsproduced in different lots may vary by as much as twenty five percent.

Embodiments of the piezoelectric actuator drive circuit 18 hereindescribed enable a pump manufacturer to use a piezoelectric elementwhich differs from the nominal capacitance for its type. Advantageously,these embodiments of piezoelectric actuator drive circuit 18 canautomatically determine the actual capacitance and thereby deliver theappropriate voltage in view of the actual capacitance. In other words,the piezoelectric actuator drive circuit 18 senses the capacitance ofpiezoelectric actuator 14, and customizes the drive signal accordingly.For example, for a piezoelectric actuator 14 whose ceramic degrades overtime, the piezoelectric actuator drive circuit 18 can test the load(e.g., piezoelectric actuator 14) and thereafter drive the piezoelectricactuator 14 with a higher voltage to compensate for degradation orvariation of the piezoelectric element over time.

FIG. 9A illustrates some selected, representative, basic steps involvedin a capacitance check routine which determines the capacitance of thepiezoelectric actuator 14 for an example mode of operation. Thecapacitance check routine of FIG. 9A is executed by microcontroller 116and is entered at step 9A-1. At step 9A-2, the capacitance check routineturns off the PWM servoing capability of piezoelectric actuator drivecircuit 18. In other words, capacitance check routine disables the callto routine CheckVolts (which is illustrated in FIG. 6D), and goes into afixed PWM mode for controlling the drive signal applied to piezoelectricactuator 14. In the fixed PWM mode, as step 9A-3 digital pulses aregenerated by pulse generator 100 with the pulse widths of the signalPWM-A and PWM-B applied on lines 124 and 126, respectively, beingconsistent and the amount of charge being applied in pulses topiezoelectric actuator 14 being known (e.g., an ascertainable electricalcharge amount which can be pre-stored in a memory, for example). As step9A-4, the user input device 106 notes the charge being applied topiezoelectric actuator 14.

Having applied a known amount of charge (in Coulombs) to thepiezoelectric actuator and by subsequently measuring the voltage (involts) on the piezoelectric actuator (at step 9A- 5), the capacitancecan be directly calculated. The voltage measurement is obtained by thevoltage feedback signal applied by output monitor 122 on line 105 tomicrocontroller 106. The capacitance check routine samples the voltagefeedback signal applied by output monitor 122 on line 105 tomicrocontroller 106.

Alternatively, the capacitance check routine samples the voltagefeedback signal obtained from output monitor 122 at successive pointsalong a waveform, and particularly at and after the peak of thewaveform. For example, the capacitance check routine determines thevoltage measurements at several points in a time neighborhood aroundpeak K of a waveform such as the waveform of FIG. 10A. A line S_(10A)shows a slope of the voltage measurements for the waveform of FIG. 10Aafter the peak K. One way of determining the capacitance constant is touse the slope. As a further alternate, the PWM mode can be exited, andtwo precisely timed voltage readings be taken. then, knowing theresistive leakage of the circuit (either empirically or at time ofmanufacture and store in a memory such as an EEPROM), the capacitancecan be calculated using a simple RC time constant calculation.

After determining the capacitance of piezoelectric actuator 14, thecapacitance check routine can exit (as depicted by step 9A-7). Morepreferably, however, the capacitance check routine can call or besucceeded by a capacitance compensation routine. FIG. 9B illustratesselected basic steps involved in the capacitance compensation routine,which is executed by microcontroller 116 and is entered at step 9B-1.

At step 9B-2, the capacitance compensation routine determines anappropriate pulse width value for the PWM signal (e.g., the signal PWM-Aon line 124 and the signal PWM-B on line 126 in the FIG. 5A circuit, orthe PWM signal in the FIG. 5C circuit) in view of the capacitance ofpiezoelectric actuator 14. In other words, the capacitance compensationroutine now uses the sensed parameter of the piezoelectric actuator tocontrol the drive signal to the piezoelectric actuator. The capacitanceof piezoelectric actuator 14 may have been determined by a previousexecution of capacitance check routine (see FIG. 9A). The pulse widthvalue may be determined in any of several ways. For example, the pulsewidth value determination of step 9B-2 may involve checking a lookuptable or the like which has a paired correspondence between storedfeedback voltage values (indicative of the measured capacitance value ofpiezoelectric actuator 14) and stored pulse width values (which resultin a corresponding charge for piezoelectric actuator 14). As anotherexample, the capacitance compensation routine may make a calculation forpulse width. As a basic example, the capacitance previously determinedcan be used in a suitable equation to determine the PWM width settingthat will give the desired actuator voltage. Alternatively, a lookuptable operation may also be used to determine the pulse width.

After determining the necessary pulse width for the PWM signal (e.g.,PWM-A on line 124 and the signal PWM-B on line 126) in view of thecapacitance, as step 9B-3 the capacitance compensation routine sets thevalue PWM to the appropriate capacitance-determined pulse width valuedetermined at step 9B-2. Then, as step 9B-4, the capacitancecompensation routine checks whether it should initiate a fixed PWM modeof operation or a PWM servo mode of operation.

If the fixed PWM mode of operation is selected at step 9B-4, then asstep 9B-5 the capacitance compensation routine enters or enables thefixed PWM mode. Entering or enabling the fixed PWM mode essentiallymeans that a consistent PWM value (the value determined at step 9B-2 andset at step 9B-3) is consistently utilized for forming the pulse widthsof the signal PWM-A and PWM-B. In other words, in the fixed PWM mode theroutine CheckVolts is bypassed so that the PWM value is not updated by afeedback signal or other signal.

If the PWM servo mode of operation is selected at step 9B-4, then asstep 9B-6 the capacitance compensation routine enters or enables the PWMservo mode. Entering or enabling the PWM servo mode essentially meansthat a the PWM value can be updated or changed in accordance with input,such as the feedback voltage signal applied on line 105 by outputmonitor 122. In so doing, the capacitance compensation routine may firstneed to turn off the fixed PWM mode (if the fixed PWM mode had beenturned on, such as at step 9A-2, for example). Turning on the PWM servofunctionality involves including the routine CheckVolts as part ofexecution of microcontroller 116, so that the PWM value is update (e.g.,decremented at step 6D-9 or incremented at step 6D-11) in accordancewith an input value (e.g., an ADC read value obtained at step 6D-2).

FIG. 10A has been mentioned above as illustrating a waveform of voltagemeasurements (obtained, e.g., at step 9A-5 of capacitance check routine)for determining the capacitance of a first example piezoelectricactuator. FIG. 10B illustrates another waveform of voltage measurementsobtained for determining the capacitance of a second examplepiezoelectric actuator. The second piezoelectric actuator of FIG. 10Bhappens to have less capacitance than the first piezoelectric actuatorof FIG. 10A, which is illustrated by the fact that the slope of thewaveform of FIG. 10B is greater (in a negative direction) than the slopeof the waveform of FIG. 10A.

8.2 Determining Impedance/Resonance of Piezoelectric System

The piezoelectric actuator drive circuit 18 facilitates determinationsof the impedance of a system in which the piezoelectric actuator 14operates, the impedance being an indication of the resonant frequency ofpiezoelectric actuator 14. For example, when the piezoelectric actuator14 operates in a pump, the impedance of the system comprising the piezopump, the attached tubing, the fluid viscosity, the trapped air, etc.The impedance of the system relates to the resonant frequency of thesystem. A low impedance point in a frequency spectrum indicates aresonant frequency. If the resonant frequency of the system is known,the performance of the pump can be optimized for that particular system.Typically, the resonant frequency of a system is anywhere from 40 to 130Hertz. One pump in two different systems will have two differentresonant frequencies and therefore it is desirable to be able to measurethe system resonant frequency in real time. Once the resonant frequencyis known, the micro controller can adjust the drive frequency formaximum performance.

Two example and non-limiting impedance/resonance determinationtechniques are an impedance measurement technique and an impulseresponse technique. Both the impedance measurement technique and theimpulse response technique are preferably implemented during real timeoperation of pump 10, e.g., while piezoelectric actuator 14 is actuallypumping fluid in pump 10.

8.2.1 Impedance Measurement Technique

The first technique is very similar to the previously describedcapacitance technique. A constant power drive is applied at variousdrive frequencies and the signal attenuation is measured. The frequencyat which maximum attenuation occurs indicates minimum impedance and thusindicates the resonant frequency.

Basic example steps of the impedance measurement technique areillustrated in FIG. 11A. In the impedance measurement technique, theresonant frequency of pump 10 is indirectly found by making a series ofcrude impedance measurements for the piezoelectric actuator 14 at manydifferent frequencies and finding a minimum frequency. A routine forimplementing the impedance measurement technique can be executed bymicrocontroller 116, and is entered at step 11A-1.

As step 11A-2, the impedance measurement routine turns off the PWMservoing capability of piezoelectric actuator drive circuit 18. This isbecause the impedance of piezoelectric actuator 14 at a particularfrequency is made by driving piezoelectric actuator 14 with the voltagecontrol servo circuitry disabled. This is accomplished by the impedancemeasurement routine disabling the call to or otherwise bypassing theroutine CheckVolts (which is illustrated in FIG. 6D), and going into afixed PWM mode as indicated by step 11A-3. In the fixed PWM mode, themicrocontroller 116 generates signals PWM-A and PWM-B with a fixed pulsewidth modulation so that the piezoelectric actuator 14 is driven with aconstant power input which will translate to an achieved peak voltage onpiezoelectric actuator 14 that is proportional to its impedance.

In its remaining steps, the impedance measurement routine of FIG. 11 Asweeps through a series of excitation frequencies, takes a voltagefeedback measurement for each frequency, normalizes the voltage feedbacksignals, and then determines an impedance minimum. At step 11A-4 theimpedance measurement routine sets the initial excitation frequency.With the excitation frequency having been set, at step 11A-5 theimpedance measurement routine obtains (from output monitor 122 on line105) a peak voltage feedback signal from piezoelectric actuator 14. Thevoltage feedback signal obtained at step 11A-5 is stored in associationwith the excitation frequency with which it was generated. At step 11A-6the impedance measurement routine determines whether it has completedthe entire range of excitation frequencies through which it is to sweep.If not, at step 11A-7 a next excitation frequency of the range ischosen, and thereafter at step 11A-5 the peak voltage feedback for thenext excitation frequency is obtained and stored. Thus, the impedancemeasurement routine has varied the drive signal through a range ofexcitation frequencies, and has obtained a voltage value from thefeedback signal for each of the excitation frequencies.

After it has been determined at step 11A-6 that the entire range ofexcitation frequencies has been checked, at step 11A-8 the peak voltagefeedback signal values obtained for the entire range are normalized.Then, as step 11A-9, the impedance measurement routine determines theresonant frequency of pump 10 as the particular excitation frequency inthe scan range that resulted in the minimum impedance value (i.e., theminimum voltage feedback peak value).

8.2.2 Impulse Response Technique

The second technique measures the resonant frequency not by measuringthe dynamic impedance but by measuring the system's impulse response.This is exactly equivalent to hitting a tuning fork with a hammer andmeasuring the fork frequency. The piezo is hit with an electricalimpulse and then “listened to” via the voltage feedback line for thephysical shock wave to propagate into the pump system, and then “bounce”back to the piezo and physically displace it, generating an echoedelectrical impulse. The inverse of the time between the impulseexcitation and the echo is the resonant frequency of the system.

Basic example steps of the impulse response technique are illustrated inFIG. 11B. A routine for implementing the impulse response technique canbe executed by microcontroller 116, and is entered at step 11B-1. Asunderstood in view of previous discussions, at step 11B-2 the impulseresponse routine turns off the PWM servoing capability of piezoelectricactuator drive circuit 18. Then, in the remaining steps of the impulseresponse routine, the resonant frequency of pump 10 is directly measuredby “pinging” the piezoelectric diaphragm (e.g., piezoelectric actuator14) with a step function drive signal, and then continuously monitoringthe voltage across the piezoelectric actuator 14 to look for the “echo”.The inverse of the echo period is the resonant frequency.

As step 11B-4, the microcontroller 116 enters a step function drive modein which the pulse widths of the signals PWM-A and PWM-B are set inaccordance with a step function. That is, the pulse widths of thesignals PWM-A and PWM-B are initially set at a first value, thenincreased to a second (greater) value, then increased to a third (yetgreater) value, and so forth. In other words, the impulse responseroutine varies the drive signal, and all the while, as step 11B-5, thevoltage feedback signal from output monitor 122 on line voltage feedbacksignal on line 105 is monitored by microcontroller 116 or some otherprocessor. When the echo is found, at step 11B-6 the inverse of the echoperiod is taken as the resonant frequency of the piezoelectric actuator14.

9.0 Drive Circuit Receiving Sensor Signals

As mentioned above, the connector 110 can be connected to one or moresensors. Such sensor(s) supply a corresponding sensor signal(s) topiezoelectric actuator drive circuit 18, and to microcontroller 116 inparticular. For example, FIG. 19 shows a digital input signal, e.g.,from a sensor, which is applied to actuator drive circuit 18. The pulsegenerator (e.g., microcontroller 116) receives the digital input and hasa signal logic combination function 190 which combines the digital inputsignal with the feedback signal on line 105 to produce a combined output191. Prior to being input to signal logic combination function, thefeedback signal on line 105 can be converted from analog to digital. Theperson skilled in the art understands the workings of signal logiccombination function 190 in view of widely understood control theory,since the signal logic combination function 190 essentially uses thedigital input signal to modify the output that pulse generator 100.

The digital input signal shown in FIG. 19 can be from a graphical userinterface or the like as shown in FIG. 3C, or from an in-pump sensor asshown in FIG. 3D, or from sensors elsewhere located such as (forexample) as shown in FIG. 3E, FIG. 3F, and FIG. 3G. For example, if thepump were used for cooling and the digital input signal to the pulsegenerator 100 were to indicate that a sensed temperature is rising,using control theory the signal logic combination function 190 wouldincrease pump operation. Conversely, if the temperature were to drop asindicated by the digital input signal, the pulse generator woulddecrease pump operation.

10.0 Drive Signal Waveform Optimization

As previously indicated, in a waveform optimization mode thepiezoelectric actuator drive circuit 18 can use previously preparedand/or pre-stored information (e.g., waveform shape data) in order togenerate a drive signal with optimized waveform for application to thepiezoelectric actuator 14 of a pump. The previously prepared andpre-stored information can be stored in a table, such as lookup table140 (see FIG. 5B). The information can be prepared so that the waveformis optimized with respect to one or more criteria (e.g., one or moreoperational parameters/variables). The waveform shape data is optimizedin the waveform optimization mode for purposes including those of makingthe piezoelectric actuator use the power with which it is supplied moreefficiently, and for less noise, and hopefully with minimum (if any)charge recovery measures.

10.1 Waveform Optimization Apparatus

FIG. 13 shows an example embodiment waveform optimizer 200 whichgenerates a table of waveform optimization values. The waveformoptimization values developed by waveform optimizer 200 are intended foruse as waveform shape data by a target drive circuit for generating adriving signal for a target piezoelectric pump. To develop thesewaveform optimization values, the waveform optimizer 200 generates adrive signal which is applied to a digital to analog converter (DAC)201, after which the analog drive signal is amplified (by amplifier 202)and applied on line 204 to a piezoelectric actuator. The piezoelectricactuator is situated in an operating pump. Although the same referencenumerals have been employed in FIG. 13 as in previous figures to referto piezoelectric actuator 14 and elements of pump 10, it should beunderstood that the waveform optimization data being prepared bywaveform optimizer 200 is for a target pump and target piezoelectricactuator, which target pump and target actuator can be but are notnecessarily the same pump/piezoelectric actuator being driven during thegeneration of the waveform optimization data. In this regard, thewaveform optimization data being prepared by waveform optimizer 200 maybe for another (but preferably similar type) piezoelectric actuator orfor another (but preferably similar type) pump than the one utilizedduring the generation of the waveform optimization data.

As indicated previously, the waveform data being prepared by waveformoptimizer 200 can be optimized with respect to one or more operationalparameters, e.g., one or more criteria. Examples of optimizable criteriainclude flow (e.g., rate of flow of fluid through the pump),acceleration, noiselessness, pressure, temperature, elevation, powerconsumption, and signals or input from any other analog or digitalfeedback device. Optimization of a driving signal waveform typicallyinvolves the use of a sensor in order to obtain a signal (e.g., feedbacksignal) regarding the operational parameter being optimized. More thanone such sensor may be utilized, and the location and/or positioning ofsuch sensor(s) depends upon the parameter being sensed/optimized. Forsake of simplicity, FIG. 13 generically shows a single sensor 112-13.Depending on the type and nature of sensor(s) employed, the waveformoptimizer 200 may include a sensor interface 208 which renders thesensor signal usable by waveform optimizer 200. For example, the sensorinterface 208 may include an analog to digital converter (ADC) 222 (seeFIG. 16).

In the ensuing discussion an example, non-limiting waveform optimizationscenario is described in which the optimized parameter is fluid flowthrough the pump. In such example scenario it should be understood thatthe sensor can be a flowmeter, and that the flowmeter may be positionedeither at an outlet or downstream from an outlet of the pump.

The waveform optimizer 200 outputs a drive signal on line 204. It willbe appreciated that in one example embodiment the waveform optimizer 200has constituency and operation similar to that of the previouslydescribed pulse generators and/or microcontrollers for generating adigital output signal for use as the drive signal. In addition, thewaveform optimizer 200 typically includes an executable program, such aswaveform optimization program 210. The waveform optimization program 210executes steps based on instructions stored in a memory in order togenerate the drive signal to be applied to the piezoelectric actuatorand in order to generate a waveform equation which is solved in order toobtain a table of waveform optimization data values. The waveformoptimization data values are stored in a table memory of waveformoptimizer 200, illustrated as table 212 in FIG. 13.

An input/output device 220 is connected to waveform optimizer 200 sothat the waveform optimization data stored in table 212 can be extractedtherefrom. The input/output device 220 can take various forms, such as adisplay (for reading data values from table 212), or a hardware memoryproduction device (such as a ROM burner for storing values in a readonly memory (ROM)).

10.2 Waveform Optimization Convenance Techniques

FIG. 14 shows general aspects or events of a procedure for enabling apulse generator of a piezoelectric pump to produce an optimizedwaveform. As event 14-1, the waveform optimizer 200 performs a waveformoptimization procedure (e.g., by executing waveform optimization program210) while connected (in the example manner illustrated in FIG. 13) toapply a drive signal to a piezoelectric actuator which is operating in afunctional pump. As indicated above, the particular actuator or pumpinvolved in the connection may or may not be the same as the targetactuator/pump with which the waveform optimization data will beutilized. As shown in FIG. 14, in performing event 14-1 the waveformoptimizer 200 may receive feedback or at least boundary conditions withrespect to one or more operational parameters (“criteria”) whichinfluence the waveform optimization. The example sensor 112-13 describedabove is an example of application of a signal for one type ofoperational parameter. While in some embodiments the waveformoptimization may be performed for only one operational parameter, theFIG. 14 allows for inputs for any number (“N”) of operationalparameters.

The output of waveform optimizer 200 is a table or listing of waveformoptimization data, also known as waveform shape data. Generation of thewaveform optimization data for such table is depicted as event 14-2 ofFIG. 14. Examples formats of such a table are illustrated insubsequently described FIG. 18A and FIG. 18B.

The waveform optimization data generated by waveform optimizer 200 willsubsequently be used in a target piezoelectric actuator drive circuit 18(such as embodiments described herein) in order to optimize the waveformapplied on line drive signal applied on line 104 to piezoelectricactuator 14 in a target pump. Conveyance of the waveform optimizationdata generated by waveform optimizer 200 to the target pump can occur inseveral modes, such as the modes respectively illustrated by events14-3A, 14-3B, and 14-3C in FIG. 14.

As waveform optimization data conveyance mode 14-3A, the particularwaveform optimization data generated by waveform optimizer 200 can beinput to a memory table comprising or accessible to pulse generator 100of the target pump in which it is to be utilized. For example, agraphical user interface (GUI) or the like can be utilized for inputtingthe waveform optimization data developed by waveform optimizer 200 intoa memory for piezoelectric actuator drive circuit 18. The memory can beeither on-board memory (e.g., for microcontroller 116) or other form ofmemory (e.g., read only memory (ROM)).

As waveform optimization data conveyance mode 14-3B, the particularwaveform optimization data generated by waveform optimizer 200 can bestored in table form in a memory chip or other memory device, andafterwards the memory chip/device bearing the waveform optimization datacan be installed in the piezoelectric actuator drive circuit 18 of thetarget pump. This mode is also illustrated in FIG. 15A and FIG. 15B,which shows a version of the waveform optimization data in the form ofmemory table 212 essentially being incorporated into pulse generator 100of target pumps.

As waveform optimization data conveyance mode 14-3C, the particularwaveform optimization data generated by waveform optimizer 200 can bestored in table form or otherwise in a microprocessor or microcontrollerof the target pump. For example, in the conveyance mode 14-3C the entiremicrocontroller 116, and perhaps the entire piezoelectric actuator drivecircuit 18, is supplied for the target pump.

10.3 Waveform Optimization Data Preparation Procedure

The logic of the waveform optimization program 210 executed by waveformoptimizer 200 can be sequenced, arranged, formatted, and programmed in avariety of ways. Moreover, the waveform optimizer 200 may include one ormore controllers, processors, or ASICs which, either in distributed orconsolidated manner, perform basic operations such as the example stepshereinafter depicted. In one non-limiting, example configurationillustrated in FIG. 16, the waveform optimization program 210 includes aprogram interface tool 224 which works in conjunction with a dynamicloadable library 226. An example of a suitable program interface tool isNational Instruments LabVIEW™. The dynamic loadable library 226 is amodule that is created by a complier, and may be code that is written ina programming language such as C , for example. Other types of programinterface tools or programming approaches may alternatively be employed.

FIG. 17A-FIG. 17D are flowcharts which depict basic example stepsperformed in a non-limiting, example waveform optimization procedureperformed by waveform optimizer 200. Step 17-1 reflects commencement ofthe waveform optimization procedure.

Essentially, the waveform optimization procedure first determinescoefficients for a wave equation. The coefficients of the waveformequation are determined to optimize at least one operational parameterof the pump. Then the waveform optimization procedure solves thewaveform equation to obtain waveform shape data which can be utilized bythe piezoelectric actuator drive circuit of the pump so that, for eachof plural points within a period of the waveform, the drive signal hasan appropriate amplitude for a predetermined waveform shape (e.g., awaveform shape optimized for the pump). The waveform shape data isstored in a memory (such as table memory 212 of FIG. 13), and can beconveyed to a piezoelectric actuator drive circuit in modes such asthose illustrated by event 14-3A, 14-3B, and 14-3C of FIG. 14. Thewaveform shape data may take the form of amplitude values, e.g.,amplitude values which are paired with the plural points of the waveformperiod as in the manner of table 140-18A of FIG. 18A. Alternatively oradditionally, the waveform shape data may take the form of pulse widthmodulation values which are paired with the plural points of thewaveform period, for example in the manner of table 140-18B of FIG. 18B.

Any suitable basic waveform equation can be utilized by waveformoptimizer 200, e.g., sine wave, square wave, rectangular wave, etc. In anon-limiting example mode now discussed, the fundamental wave equationhaving the general form of Equation 1 is utilized.

$\begin{matrix}{V = {D \cdot {\sum\limits_{i = 0}^{N - 1}\left( {{A_{i}{sine}\; \left( {2{\pi \cdot f \cdot t}} \right)} + {B_{i}{\cos \left( {2{\pi \cdot f \cdot t}} \right)}}} \right)}}} & {{Equation}\mspace{14mu} 1}\end{matrix}$

In Equation 1, D is the drive amplitude in volts; f is the operatingfrequency in Hz; N is the number of harmonics to be considered; and i=0,. . . N-1 is the index range for the harmonics.

As mentioned above and explained in more detail below, the coefficientsA_(i) and B_(i) of the waveform equation of Equation 1 are firstdetermined, after which the waveform equation is solved for itsamplitude (voltage) V. In Equation 1, for the coefficients A_(i) andB_(i) the subscript i is respectively associated with the sine term andthe cosine term of the fundamental term pair (when i=0) and harmonicterm pairs (terms in which i>0).

Step 17-2 through step 17-4 involve initialization operations forvarious variables utilized in the waveform optimization procedure. Theseinitialization operations are performed preparatory to invocation of acoefficient determination routine having example steps illustrated inFIG. 17C. The coefficient determination routine involves execution of anouter loop in which a harmonic pair counter for the coefficients, alsoknown as a coefficient subscript counter i, is incremented as furtherharmonic terms are added to the waveform equation. Therefore, as step17-2, the coefficient subscript counter i is initialized at zero.Moreover, the determination of each coefficient as preformed by thecoefficient determination routine involves increasing or decreasing themagnitude of the coefficient by a certain value step_size. Accordingly,as step 17-3, an initial step_size (e.g., 0.2) is chosen. Further,although the coefficient determination routine determines coefficientsof the waveform equation for both the sine and cosine terms pair of aharmonic pair of terms, only one term (the “active” term) has itscoefficient determined at any given time. Therefore, as step 17-4 thesine term is set as the first active_term (e.g., active_term=sine).

As mentioned above, the waveform optimization procedure can producewaveform shape data that is optimized in accordance with one or moreoperational parameters (e.g., operational criteria). For one or more ofthese operational parameters there may be certain boundary conditionswithin which the pump must operate. For example, if fluid flow is suchan operational parameter, the operation of the pump may be acceptableonly within a certain range of flow values. Therefore, optional step17-5 involves inputting boundary conditions for the waveformoptimization procedure. For example, at step 17-5 an upper fluid flowrate and/or a lower fluid flow rate may be input to the waveformoptimization procedure.

A forthcoming step 17-10 involves execution of the coefficientdetermination routine for determining the coefficients of the waveformequation. As a precursor, nominal preliminary values for thecoefficients A_(i) and B_(i) of the waveform equation are obtained atstep 17-7. In one example implementation, these nominal preliminaryvalues for the coefficients A_(i) and B_(i) are preferably stored innon-volatile memory. Then, using these nominal preliminary values forthe coefficients A_(i) and B_(i) of the waveform equation, the waveformequation is utilized by waveform optimizer 200 at step 17-8 to generatea drive signal which is applied on line 204 to the piezoelectricactuator of the operative pump. As indicated by step 17-9, the waveformoptimization program 210 waits a (preferably predetermined) settlingtime before continuing further operation. The settling time depends onthe field of employment of the pump but may be, for example, on theorder of twenty seconds. After expiration of the settling time, asindicated by symbol 17-10 the waveform optimization program 210continues execution with the steps shown in FIG. 17B.

As step 17-10 of FIG. 17B, the coefficients of the waveform equation arecomputed based on a first operational criteria. This step 17-10essentially involves invoking the coefficient determination routinehaving the sub-steps shown in FIG. 17C. As subsequently explained, theperformance of the coefficient determination routine of FIG. 17C calls atable generation routine (shown in FIG. 17D), which ultimately resultsin generation of a table of waveform shape data (such as table 212 ofFIG. 13) .

After the coefficient determination routine of step 17-10 has determinedall coefficients for the waveform equation, e.g., all harmonic termpairs, at step 17-11 the waveform optimization program 210 provides anopportunity to further refine the coefficients. In particular, startingfrom and building on the coefficients determined at step 17-10, thewaveform optimizer continues to operate by essentially repeating step17-10. Before so doing, at step 17-12 the appropriate counters andvalues are reset or reinitialized. For example, the coefficientsubscript counter is reinitialized at zero, the value of step_size againreset, and active_term set to point to the sine term. The waveformoptimizer may loop back to repeat step 17-10 several times, each timeusing the coefficients calculated during the last loop as the startingcoefficients for the successive loop. For example, the loop may berepeated such that step 17-10 is performed three times based on thefirst criteria.

In addition to refinement, as an option the waveform optimizer alsoprovides an opportunity for redundancy check. That is, after making afirst determination of waveform coefficients with respect to a firstcriteria, at step 17-13 the waveform optimizer can start all over againwith newly initialized coefficients, performing step 17-10 one or moretimes in order to check whether the redundancy-inititated performance(s)of step 17-10 yielded comparable coefficients as the originalperformance(s) of step 17-10. The redundancy check of step 17-13 caninvolve using the same basic waveform equation, or another waveformequation. The redundancy check of step 17-11 can be performed as manytimes as desired. Although not so illustrated, it will be appreciatedthat, prior to repeating the coefficient determination routine of step17-10, in like manner as step 17-12 the appropriate counters and valuesare reset or reinitialized. If redundancy checks have been performed (asdetermined at step 17-13), there will be plural versions of tables ofwaveform shape data prepared by the coefficient determination routine ofFIG. 17C (one version for each execution of the coefficientdetermination routine). Step 17-14 involves comparing the pluralversions to confirm a similar convergence of the coefficients in bothtables. If confirmation is not obtained by the comparison, appropriatemeasures can be taken (e.g., further repetition of the coefficientdetermination routine, or majority voting, or implementation ofpredetermined logic to accept one or the other tables).

As indicated above, in some applications and/or modes of operation thewaveform optimization program 210 may optimize the waveform shape databased on only one operational parameter (e.g., only one criteria). Onthe other hand, in other applications and/or modes of operation thewaveform optimization program 210 may optimize the waveform shape databased on plural operational parameter (e.g., more than one criteria).The series of steps of FIG. 17B labeled as step 17-15 through step 17-18can be executed when optimization is based on or takes intoconsideration plural operational criteria. Since these plural criteriasteps are optional (e.g., may not be performed for modes which optimizedfor only one operation parameter), these steps are shown as being framedwith broken lines.

In the example, non-limiting implementation, should the waveformoptimization program 210 perform its optimization based on pluraloperational criteria (e.g., multivariable optimization), thecoefficients of the waveform equation are considered one at a time andin sequential fashion. For example, the coefficients of the waveformequation are first determined at step 17-10 with respect to the firstoperational parameter (first operational criteria, based e.g., on afirst feedback signal) by a first execution of the coefficientdetermination routine. Then, after the first set of coefficients havebeen determined, those coefficients are utilized as a starting point fora second execution of the coefficient determination routine (at step17-16) in which the second operational parameter influences coefficientdetermination (based, e.g., on a second feedback signal). Similarly, ifthere are other operational criteria upon which the optimization is tobe dependent, the most recently determined coefficients are utilized asa starting point for another execution of the coefficient determinationroutine (at step 17-18) in which the another operational parameterinfluences coefficient determination (based, e.g., on yet anotherfeedback signal).

Of course, prior to each performance of the coefficient determinationroutine, the appropriate initializations and resets have to be made(e.g., i=0; step_size; active_term=sine). These initializations andresets are reflected by step 17-15 and step 17-17, which precederespective step 17-16 and step 17-18.

Other techniques are possible for performing waveform optimization whenreceiving plural criteria (e.g., receiving plural sensor input). As analternative implementation, for example, a step such as step 17-10 canbe performed with respect to one of the sensor/inputs (which is deemed aprimary input). For example, the primary input might be flow in thepump. The waveform optimizer also keeps track of the signal(s) fromother sensor(s), which are considered as secondary criteria. Inparticular, the waveform optimizer in this alternative implementationmonitors to ensure that the input signal received for the secondarycriteria sensor is within prescribed boundary values for the secondarycriteria. So long as the input signal received for the secondarycriteria sensor is within prescribed boundary values, the readingsobtained for the primary sensor are validated and used to computewaveform coefficients. However, at any time that the input for thesecondary sensor is outside of its boundary conditions, the primaryinput signals are discarded and therefore not used in the coefficientcalculation. Therefore, only data collected when all of the pluralsensor inputs are within boundary conditions is used for calculating thewaveform coefficients based on the primary input.

After as few or as many operational parameters as necessary have beenconsidered, and the final coefficients determined, the table generationroutine of FIG. 17D includes the final waveform shape data. As step17-19, the final waveform shape data is stored or burned in table 212.

While in the preceding example discussion the plural operationalcriteria were considered essentially sequentially in determining thecoefficients, it should be understood that, in other embodiments, thecoefficients of the waveform equation can be determined whileessentially simultaneously considering all operational criteria.

10.3.1 Coefficient Determination Routine

Basic steps involved in an example scenario of the coefficientdetermination routine are illustrated in FIG. 17C. As indicatedpreviously, the coefficient determination routine is called whenever thewaveform optimization procedure of waveform optimization program 210 isready to determine coefficients of the waveform equation. For example,in the example logic of the waveform optimization procedure of FIG. 17Aand FIG. 17B, when the coefficients of the waveform equation are to bedetermined for optimizing the waveform shape data according to a firstoperational criteria, the coefficient determination routine is called atstep 17-10. Moreover, in the example logic of the waveform optimizationprocedure of FIG. 17A and FIG. 17B, when the waveform shape data is tobe optimized in dependency upon plural operational criteria for thepump, the coefficient determination routine may subsequently be calledfor each of the plural operational criteria, as at example step 17-16and example step 17-18 in FIG. 17B.

As evident from the ensuing discussion, the coefficient determinationroutine comprises an inner loop of steps which is nested within an outerloop of steps.

The outer loop of steps increments the coefficient subscripter counteri. That is, in a first execution of the outer loop, the inner loop isrepetitively executed, as many times as necessary, to determine both thecoefficient A₀ for the sine term and the coefficient B₀ for the cosineterm for the fundamental pair of terms of the waveform equation. Duringa second execution of the outer loop, the inner loop is repetitivelyexecuted, as many times as necessary, to determine both the coefficientA₁ for the sine term and the coefficient B₁ for the cosine term for thefirst harmonic pair of terms of the waveform equation. Similarly, duringa third execution of the outer loop, the inner loop is repetitivelyexecuted, as many times as necessary, to determine both the coefficientA₂ for the sine term and the coefficient B₂ for the cosine term for thesecond harmonic pair of terms of the waveform equation, and so forth.

The inner loop of steps is repetitively executed, as many times asnecessary, for determining an optimized coefficient value for a singleterm of the waveform equation. For a given pair of terms of the waveformequation (e.g., either the fundamental pair of terms or a harmonic pairof terms), the inner loop is first executed as many times as necessary(while active_term=sine) to find an optimal coefficient for the sineterm. After the optimal coefficient for the sine term is determined, theactive_term is switched (to active_term=cosine) so that the inner loopis executed as many times as necessary to find an optimal coefficientfor the cosine term. Thus, the coefficient being determined at any givenmoment is determined by the active_term variable (which indicates eitherthe sine or the cosine term), and the coefficient subscript counter i(which indicates to which pair of terms the term belongs: either to thefundamental pair of terms (i=0) or to one of the harmonic pairs of terms(i>0).

The commencement of the coefficient determination routine is indicatedby step 17C-1. After the coefficient determination routine is initiated,as step 17C-2 the currently existing version of the waveform equation isused to apply a drive signal to the piezoelectric actuator 14 of theoperational pump connected to waveform optimizer 200. Thereafter, e.g.,possibly after a time delay, as step 17C-3 the coefficient determinationroutine evaluates the feedback signal received from the pump. Forexample, if the criteria of interest for this execution of thecoefficient determination routine is fluid flow in the pump, then asstep 17C-3 the sensor signal from the flowmeter is evaluated.

In conjunction with the evaluation, as step 17C-4 the coefficientdetermination routine determines if the feedback signal from thecriteria sensor is consistent with required conditions for thatcriteria. For example, if the feedback signal is fluid flow, the logicof step 17C-3 may determine whether the fluid flow through the pumpcontinues to increase (as is desired), or whether the fluid flowundesirably decreases. If the feedback is consistent with the requiredconditions (e.g., if the fluid flow continues to increase), then as step17C-5 the current value of the coefficient being determined is stored asthe latest best coefficient. On the other hand, if the feedback isinconsistent with the required conditions (e.g., if the fluid flowdecreases rather than increases), then the coefficient determinationroutine knows that it has stepped too far in attempting to determine thecoefficient, and accordingly as step 17C-6 the coefficient determinationroutine settles for using the latest best coefficient value forcoefficient subscript i.

The feedback consistency check of step 17C-4 has been described withreference to the one operational criteria in view of which the waveformoptimization program 210 is currently attempting to optimize thecoefficients, and thus the waveform shape data. It should be understoodthat the feedback consistency check of step 17C-4 may also involvechecks with respect to any other operational criteria for which thewaveform optimizer 200 may also be requested to optimize the waveformshape data. For example, while checking at step 17C-4 to ensure that thesignal from the flowmeter indicates that the fluid flow through the pumpis increasing, the check at step 17C-4 may also involve determining thata feedback signal or sensor signal with respect to another operationalparameter (e.g., operational criteria) is within boundary conditions forthat other parameter/criteria. As an illustration, consider an exampleembodiment in which the waveform shape data is to be optimized not onlyin view of fluid flow but also fluid temperature. In such illustration,a second check performed at step 17C-4 may be to ensure that the asignal indicative of temperature in the pump chamber is within boundaryconditions (e.g., either above or below a predetermined temperature, orbetween a first predetermined temperature and a second predeterminedtemperature).

If it is determined at step 17C-4 that the feedback signal from thecriteria sensor is consistent with required conditions for thatcriteria, after step 17C-5 a check is made whether the value ofstep_size is less than or equal to a predetermined value. In theillustrated mode, the predetermined smallest value of step_size which isutilized by the coefficient determination routine is 0.001.

If the variable step_size has not reached its predetermined smallestvalue, then further iterations of the inner loop of the coefficientdetermination routine are necessary for optimizing the coefficient. Inpreparation for further executions of the inner loop for the samecoefficient, step 17C-8 through step 17C-10 are performed. At step17C-8, the sign and magnitude of the variable step_size are adjusted(e.g., decremented to a smaller value). This is done for reducing thestep_size as the coefficient determination routine gets closer andcloser to the optimized value for the coefficient currently beinghandled. In one example implementation, at step 17C-8 the value ofstep_size is halved. At step 17C-9 an new coefficient value for the termcurrently being handled by coefficient determination routine is computedby adding the value of the variable step_size (as just computed at step17C-8) to the latest best coefficient value for the current term. Then,as step 17C-10, the waveform equation is updated to that coefficient ofthe term currently being handled by the coefficient determinationroutine has the value just determined at step 17C-9. Thereafter, theinner loop is repeated (branching back to step 17C-2) so that thewaveform equation as updated at step 17C-10 is used to apply the drivesignal to the pump.

Should it be determined at step 17C-7 that the variable step_size hasreached its predetermined smallest value, then no further iterations ofthe inner loop of the coefficient determination routine are necessaryfor optimizing the coefficient. At this point, the optimized value ofthe coefficient for the term currently being handled by the coefficientdetermination routine has been determined, at least with respect to theoperational criteria for which optimization is now being performed. Assuch, the coefficient determination routine is now ready to determine acoefficient for the next term of the waveform equation, and continueswith step 17C-11.

The value of the variable step_size reaching its predetermined smallestvalue is just one way in which the coefficient determination routine mayrealize that it is finished with determining a coefficient for aparticular term. The coefficient determination routine can also realizethat it has determined the optimum coefficient (at least for the currentcriteria) when the required conditions check of step 17C-4 is notsatisfied. When the check of step 17C-4 fails (e.g., the fluid flowstarts to decrease rather than increase), the coefficient determinationroutine realizes that it has gone too far in its increasing of the valueof the coefficient. Accordingly, in such case as step 17C-6 thecoefficient determination routine uses the latest best value of thecoefficient (as determined at a previous execution of step 17C-5) as thecoefficient for the term currently being handled. Thereafter thecoefficient determination routine continues with step 17C-11.

Step 17C-11 is preformed when the coefficient determination routinerealizes that it has just found the optimum coefficient for the criteriacurrently being optimized. The coefficient determination routine is nowready to execute the inner loop (as many times as necessary) for thenext term of the waveform equation. If the term just processed was sine,then the next term will be cosine, and vise versa. For this reason, asstep 17C-11 the coefficient determination routine switches theactive_term variable (e.g., either from sine to cosine, or from cosineto sine).

As step 17C-12 the coefficient determination routine ascertains whethercoefficients for both the sine term and the cosine term for a given termpair have been completed. If the coefficient subscript i is zero, thenas step 17C-12 the coefficient determination routine checks whethercoefficient A₀ for the sine term and the coefficient B₀ for the cosineterm for the fundamental term pair have been completed. Or if thecoefficient subscript i is one, then as step 17C-12 the coefficientdetermination routine checks whether coefficient A₁ for the sine termand the coefficient B₁ for the cosine term for the first harmonic termpair have been completed. If both coefficients for a given term pairhave not been processed, execution loops back to step 17C-2 so that theinner loop can be repetitively performed as necessary for determiningthe coefficient for the cosine term of the term pair.

When it has been determined at step 17C-12 that the optimum coefficientsfor both the sine term and the cosine term of a given term pair havebeen determined, a further check is made at step 17C-13 whether all termpairs have been processed. In other words, step 17C-13 determineswhether the value of the coefficient subscript counter equals themaximum number of harmonics for which the waveform equation is beingoptimized. In an illustrated embodiment, seven harmonics of the waveformequation are considered to be within the bandwidth of the pump, forwhich reason the coefficient determination routine realizes that it hasfound all coefficients for all term pairs when the check at step 17C-13indicates that i=7.

When (as determined at step 17C-13) there remain other term pairs forwhich coefficients need be determined, the outer loop of the coefficientdetermination routine is again entered. In this regard, as step 17C-14various re-initializations and re-settings occurs. For example, thevalue of the coefficient subscript counter is incremented (e.g., i=i+1);the value of step_size is again reset to its initial value; andactive_term=sine). As step 17C-15, a new pair of terms for a newharmonic is added to the waveform equation. Thereafter the outer loopagain initiates the inner loop, this time for the new harmonic termpair, by branching back to step 17C-2.

When (as determined at step 17C-13) the optimum values for coefficientsfor all term pairs of the waveform equation have been determined (atleast with respect to the currently considered operational criteria), asstep 17C-16 the table generation routine of FIG. 17D is performed. Afterthe table generation routine of FIG. 17D has been completed and aversion of a table such as the table 212-18A of FIG. 18A or the table212-18B of FIG. 18B has been generated for this execution of coefficientdetermination routine, the coefficient determination routine is exitedas indicated by step 17C-17.

10.3.2 Table Generation Routine

The table generation routine of FIG. 17D is invoked whenever one ofseveral possible executions of the coefficient determination routine(see FIG. 17C) determines that it has determined optimum coefficientsfor the waveform equation (at least with respect to the operationalcriteria for which the coefficient determination routine was invoked).In the example logic of the coefficient determination routine of FIG.17C, the table generation routine is invoked as step 17C-16.

Entry into the table generation routine is depicted as step 17D-1. Atthis point, all optimized coefficients for the waveform equation asdetermined on the optimized criteria are known. As step 17D-2, thewaveform optimization program 210 executed by waveform optimizer 200solves or evaluates the waveform equation (the waveform equation nowhaving the known optimized coefficients) for each point along thewaveform, in order to determine an amplitude (e.g., voltage V) for eachpoint along the waveform. Since the waveform period is taken as 360degrees, the points along the waveform are taken as degrees (or shouldthe number of points be sufficiently great, as fractions of degrees). Inthe example sinusoidal waveform of FIG. 12, each point X₁, X₂, . . . ,etc., corresponds to a degree or a fraction of a degree of one period,with each point X the waveform having a corresponding (voltage)amplitude V.

As step 17D-3, the table generation routine builds an initial tableusing the amplitude values determined at step 17D-2. An example suchtable has a format generally similar to that of table 212-18Aillustrated in FIG. 18A, with amplitude values V being paired withcorresponding period points X along the waveform.

In one implementation, the number of points X for which the waveformequation is evaluated at step 17D-2 may be over one thousand (e.g., tenthousand or even twenty thousand). As a practical matter, however,values for a much smaller number of points are really necessary.Accordingly, as optional step 17D-4, the size of the table generated atstep 17D-3 may be reduced by using only selected (preferably evenlyspaced) points along the waveform. For example, if the table generatedat step 17D-3 has a size of twenty thousand points, the table size maybe reduce by utilizing only every one thousandth point along thewaveform.

As another optional but preferably action, as step 17D-5 the tablegeneration routine can also include, in the table which it generates,the pulse width modulation values for each of the points X₁, X₂, etc.,which yield the desired respective amplitudes and hence the desiredoverall waveform. An example format of such a table is illustrated bytable 140-18B of FIG. 18B. In this implementation, the table 140-18Bprovides the pulse width for the signals PWM-A and PWM-B on line 124 and126 (to be utilized by the piezoelectric actuator drive circuit 18 forthe target pump) at selected intervals or points along the waveformthrough it period P.

After the table generation routine of FIG. 17D has completed generationof its table, the table generation routine is exited as indicated bystep 17D-6. If the table so generated remains as the last version of thetable upon completion of the waveform optimization program 210 of FIG.17A and FIG. 17B, as step 17-19 the table is appropriate stored, burned,or utilized. In other words, the table is stored or utilized consistentwith the chosen conveyance mode for conveying of the waveform shape datastored therein to the target piezoelectric actuator drive circuit forthe target pump.

11.0 Drive Circuit: Scheduling Dose Delivery

The internal clock system of microcontroller 116 is used both (1) togenerate the signal PWM-A and signal PWM-B for the flyback circuit 102and (2) to control the applied field reversal. These signals areentirely under software control and thus, the drive amplitude andfrequency can be manipulated in real-time and in an unlimited number ofways. For example, a piezoelectric pump can be driven in a traditionalfashion of (for example) 400 volts at 60 Hz to produce a continuousflow, or it can be driven in an entirely unconventional and much morecomplex fashion of say 60 Hz for 1/30 of a second (1 pump “stroke”) at400 volts every 1 minute to reliably deliver a drop of medication to apatient on schedule. Such unconventional operation can be initiated bydelivery scheduler 160, described in conjunction with FIG. 3H(1) andFIG. 3H(2). For such example, the drive circuit changes dynamically thedrive signal whereby the drive signal varies over time so that anessentially non-continuous dosage of fluid is delivered by the pump.

In low-flow applications the pump may be driven at extremely slowfrequencies (i.e. 1 stroke per minute). The circuit allows for theflyback generation to be interrupted at any time in a way that the pumpwill electrically “float” for a period of time, holding its position atany point in the mechanical pump stroke cycle. Thus, the micro can floatthe transducer and go to sleep for a period, knowing that the pump willremain at its last position until flyback generation resumes. Thisallows for extremely low power consumption in low-flow applications.Extremely long “float” periods can be achieved through slight circuitmodifications.

Furthermore, the precise timing capabilities of the microcontroller anddelivery scheduler 160 are further employed to control piezo actuatorsin certain applications in ways that are related to world clock timesuch as using a piezo pump to water a plant once a day.

12.0 Two-Way Communications with Drive Circuit

Non-volatile on-board memory also allows for each piezoelectric controlcircuit 18, or piezoelectric-actuated host (utilization) device to beserialized and uniquely identified. This aids in manufacturing qualitycontrol and is particularly important when actuators are employed incertain remote system applications. For example, the communicationschannel 164 as shown in FIG. 3H(2)and communications interfaces canprovide 2-way communications between one or more pumps and a controllingentity (e.g.,remote unit 162). Via the serialization described above,each pump in a network can be individually controlled and any localparameters being monitored can be accessed by the system controller.

13.0 Epilogue

The piezoelectric actuator drive circuit 18, preferably but notexclusively embodied in the form of an electronic printed circuit board(PCB), steps a relatively low DC voltage up to a very high AC voltageoperating at various frequencies to drive piezoelectric actuator 14. Thepiezoelectric actuator drive circuit 18 could also driveelectromechanical devices other than pumps, such as (for example)oscillating fans, air compressors, speaker exciters, aerosolizers (e.g.,ultrasonic agitators), actuators, active valves, precision actuators, toname a few. The piezoelectric actuator drive circuit 18 provides thenecessary voltage and frequency to drive piezoelectric elements andother electromechanical devices, and advantageously has onboardcapability to vary the voltages and frequencies necessary to optimizethe efficiency of the piezoelectric actuator 14.

The piezoelectric actuator drive circuit 18 provides essentially totalcontrol over piezo/electromechanical devices in terms of voltage,frequency, waveform and feedback loops. The piezoelectric actuator drivecircuit 18 eliminates the need for large testing and driving devicessuch as power amps, signal generators and oscilloscopes to test,evaluate and run piezoelectric devices. The feedback loops such aspressure and temperature allows the PDC to automatically set the properfrequency for efficient operation.

In a PWM servo mode of operation, the microcontroller 116 continuouslymonitors the voltage applied to the transducer and dynamically variesthe PWM characteristics to regulate the applied voltage in aconventional switching power supply sort of way. Because themicrocontroller 116 has access to elements of the pump driveenvironment-voltage, PWM duty, drive frequency—the load and/orefficiency of the actuator can be measured by correlating drivefrequency to load. This is an extremely valuable capability in, forexample, piezoelectric pumps. Using this capability the “resonantfrequency” of a pump can be dynamically determined and it is anticipatedthat pump back pressure can be measured.

The piezoelectric actuator drive circuit 18 with its microcontroller 116can monitor external local inputs such as that provided by adjustmentpotentiometers and temperature or pressure transducers or even somethingas simple as an on/off switch. These inputs can be used to controlpiezoelectric actuator 14 by controlling the drive signal appliedthereto.

As described above, the micro has many available digital/analog I/Olines available. These can be used to monitor things such astemperature, pressure, diaphragm position, flow, etc. via either digitalor analog sensor means. These inputs can then be used in the micro tocontrol the pump via software in many ways. The inputs can also be fedback out to a controlling system via the 2-wire serial interface forsystem monitoring.

In accordance with one or more of its plural and distinct aspects, thepiezoelectric actuator drive circuit 18 offers several advantages overthe electroluminescent (EL) lamp driver and other circuits. Among theseadvantages, the piezoelectric actuator drive circuit 18 can provide, inaccordance with a selected aspect thereof:

-   -   An automatically seek of resonance frequency for the        piezoelectric element (e.g., piezoelectric actuator 14), thereby        ensuring optimum performance under varying pressures and flows.    -   One or more feedback loops, thereby allowing for one or more        sensors to provide sensed information (such as pressure and        temperature) for influencing the drive signal and thus the        driving waveform.    -   Feedback directly from the piezoelectric element, thereby        allowing a sensing of “work” being done by the piezoelectric        element.    -   A sleep mode for reducing power consumption and for remote        sensing applications.    -   Higher voltages than previously achievable by EL Lamp drivers.    -   A variable drive signal waveform, thereby rendering the        piezoelectric quieter and more efficient.    -   Control of voltage and frequency trimmers/pots on the board        rather than setting them through board components such as        capacitors or resistors which cannot be changed in the field.    -   Multiple drive electronics on a printed digital circuit, thereby        allowing several piezoelectric elements to be driven at one time        at the same voltage and frequency.    -   A “syringe”-like mode, i.e., careful positioning of the        piezoelectric element for highly precise flows.    -   A “set and hold” feature to allow positioning a piezoelectric        element at a full deflection position and holding it there to        allow development of liquid piezoelectric valves.

In essence, the piezoelectric actuator drive circuit 18 allows thepiezoelectric element (e.g., piezoelectric actuator 14) to operate atoptimum efficiency and precision within the range of its operation atall times. This allows:

-   -   piezoelectric pumps to be used for drug infusion which requires        precision pumping    -   more effective electronic cooling devices using liquid cooling        rather than air (e.g., allowing computer manufacturers to        operate processors at much higher frequencies than can currently        be achieved with passive cooling thereby changing the face of        the entire computer/electronics industries).    -   piezo devices to be made smaller, lighter, and cheaper than ever        before (e.g., for the computer industry).    -   piezo pumps to be enabling technology for fuel cells.

Thus, piezoelectric actuator drive circuit 18 generates the requiredhigh-voltage, reversing actuator drive signal; drives piezoelectricelements or electromechanical devices at varying frequencies andvoltages; provides means for monitoring many key parameters of theactuator and its environment; as well as receiving external inputs. Inaccordance with distinctly implementable aspects of piezoelectricactuator drive circuit 18, these parameters and inputs can be acted uponin real-time to control the piezoelectric actuator and optimize itsperformance. The operating characteristics of the piezoelectric actuatorcan be programmed into the microcontroller at any time, totallyeliminating the “Mona Lisa” characteristics of existing architectures

Further, drive circuits described herein have the capability to vary thefrequency or voltage dynamically (e.g., after installed), and therebyfacilitate optimization of frequency or voltage to address backpressures, temperatures and other operating conditions.

While the invention has been described in connection with what ispresently considered to be the most practical and preferred embodiment,it is to be understood that the invention is not to be limited to thedisclosed embodiment, but on the contrary, is intended to cover variousmodifications and equivalent arrangements included within the spirit andscope of the appended claims.

1. A pump comprising: a pump body for at least partially defining apumping chamber and an inlet and an outlet which communicate with thepumping chamber; a piezoelectric actuator situated in the pump body andresponsive to a drive signal for pumping fluid between the inlet andoutlet; and a drive circuit which applies the drive signal to thepiezoelectric actuator as a series of digital pulses.
 2. The pump ofclaim 1, wherein the drive circuit further comprises: a pulse generatorwhich generates digital pulses; a converter circuit which uses thedigital pulses generated by the pulse generator to produce the series ofhigh voltage charge packets.
 3. The pump of claim 2, wherein the drivecircuit further comprises the piezoelectric actuator, and wherein thepiezoelectric actuator, by a capacitive nature of the piezoelectricactuator, integrates the charge packets to shape a waveform of the drivesignal.
 4. The pump of claim 2, wherein the pulse generator comprises apulsed width modulator (PWM) circuit.
 5. The pump of claim 4, whereinthe pulsed width modulator (PWM) circuit comprises a microcontroller. 6.The pump of claim 4, wherein the pulses generated by the pulsed widthmodulator (PWM) circuit have a pulse width chosen to produced a desiredamplitude for the drive signal.
 7. A method of operating a piezoelectricpump having a piezoelectric actuator situated in a pump body andresponsive to a drive signal for pumping fluid between an inlet and anoutlet of the pump body, the method comprising: applying a series ofdigital pulses as the drive signal to the piezoelectric actuator;operating the piezoelectric actuator in response to the drive signal. 8.The method of claim 7, further comprising: (1) generating digitalpulses; (2) using the digital pulses of step (1) to produce the seriesof high voltage charge packets.
 9. The pump of claim 8, furthercomprising using the piezoelectric actuator to integrate the chargepackets and thereby shape a waveform of the drive signal.
 10. The pumpof claim 7, further comprising modulating a pulse width of the digitalpulses of step (1) in accordance with a desired waveform for the drivesignal.
 11. A drive circuit which produces a drive signal for a devicehaving a piezoelectric actuator, the piezoelectric actuator forming apart of the drive circuit and serving to shape a waveform of the drivesignal.
 12. The drive circuit of claim 11, wherein the drive circuitcomprises: a pulse generator which generates digital pulses; a convertercircuit which uses the digital pulses generated by the pulse generatorto produce high voltage charge packets; and wherein the piezoelectricactuator, by a capacitive nature of the piezoelectric actuator,integrates the charge packets to shape the waveform of the drive signal.13. The drive circuit of claim 12, wherein the pulse generator comprisesa pulsed width modulator (PWM) circuit.
 14. The drive circuit of claim13, wherein the pulsed width modulator (PWM) circuit comprises amicrocontroller.
 15. The drive circuit of claim 13, wherein the digitalpulses generated by the pulsed width modulator (PWM) circuit have apulse width chosen to produced a desired amplitude for the drive signal.16. The drive circuit of claim 12, wherein the converter circuitcomprises a flyback circuit.
 17. The drive circuit of claim 16, whereinthe flyback circuit produces potentials that are bipolar with respect toan electrical ground.
 18. The drive circuit of claim 12, furthercomprising a filter for filtering components of the charge packetsproduced by the converter circuit.
 19. The drive circuit of claim 12,wherein a frequency of the charge packets produced by the convertercircuit is greater than an ability of the piezoelectric actuator tomechanically respond.
 20. The drive circuit of claim 19, wherein thefrequency of the charge packets produced by the converter circuit ischosen to be greater than an ability of the piezoelectric actuator tomechanically respond so that the charge packets produced by theconverter circuit do not contribute to one of mechanical inefficiencyand noise in the piezoelectric actuator.
 21. The drive circuit of claim12, wherein the charge packets comprise positive and negative pulses,and wherein the piezoelectric actuator integrates the positive pulsesand the negative pulses to yield a drive field that approximates a sinewave.
 22. The drive circuit of claim 12, wherein neither a bridgeswitching circuit nor a charge storage circuit are connected between theconverter circuit and the piezoelectric actuator.
 23. (canceled) 24.(canceled)
 25. (canceled)
 26. (canceled)
 27. (canceled)
 28. (canceled)29. (canceled)
 30. (canceled)
 31. (canceled)
 32. (canceled) 33.(canceled)
 34. (canceled)
 35. (canceled)
 36. (canceled)
 37. (canceled)38. (canceled)
 39. (canceled)
 40. (canceled)
 41. (canceled) 42.(canceled)
 43. (canceled)
 44. (canceled)
 45. (canceled)
 46. (canceled)47. (canceled)
 48. (canceled)
 49. (canceled)
 50. (canceled) 51.(canceled)
 52. (canceled)
 53. (canceled)
 54. (canceled)
 55. (canceled)56. (canceled)
 57. (canceled)
 58. (canceled)
 59. (canceled) 60.(canceled)
 61. (canceled)
 62. (canceled)
 63. (canceled)
 64. (canceled)65. (canceled)
 66. (canceled)
 67. (canceled)
 68. (canceled) 69.(canceled)
 70. (canceled)